Signaler

Problème avec Cells. [Résolu]

Posez votre question kit24be 43Messages postés samedi 12 janvier 2013Date d'inscription 15 mai 2017 Dernière intervention - Dernière réponse le 15 mai 2017 à 12:01 par kit24be
Bonjour,

j'ai un problème avec cells, je n'arrive pas a récupérer le texte de la première
ligne.



Sub Macro1()
Dim nomCherche As String
Dim RESULT As Variant
Dim R As Integer
Dim i As Integer
Dim s As Integer
Dim U As String
Dim V As String
s = 1

U = Sheets("test").Range("K2").Column
Sheets("test").Select

Set RESULT = Range("b2:b300").Find(What:=nomCherche, LookIn:=xlValues)

Sheets("c").Range("a15").NumberFormat = "0000"
Sheets("c").Range("b15").Value = RESULT.Offset(0, -1).Value
Sheets("c").Select
Range("b15").Select

For i = 9 To 60
If RESULT.Offset(0, i).Value = "" Then
U = U + 1
GoTo SUITE
Else

V = Cells(1, U).Value ' y a t il une erreur sur cette ligne

ActiveCell.Offset(0, s).Value = V
ActiveCell.Offset(1, s).Value = RESULT.Offset(0, i).Value
U = U + 1
s = s + 1
SUITE:
End If

Next i

End Sub

Merci d'avance



Afficher la suite 
Utile
+0
plus moins
Bonjour,

Dans un premier temps,
Set RESULT = Range("b2:b300").Find(What:=<gras>nomCherche</gras>, LookIn:=xlValues)

Y a pas de
nomCherche="quelquechose"
!!
Donnez votre avis
Utile
+0
plus moins
Bonjpour,
désolé, en épurant le code, j' ai supprimé la ligne.
La boucle me permet de récupérer le titre de la première cellule de chaque colonne par rapport à la valeur de la référence en Sheets("c").Range("b15").Value. Si la cellule de référence + offset est vide la boucle recherche la valeur de cellule de la colonne suivante. la boucle fonctionne bien pour les valeurs de cellules, mais pas pour récupérer les titres.

Merci pour la rapidité de votre réponse.





Sub Macro1()
Dim nomCherche As String
Dim RESULT As Variant
Dim R As Integer
Dim i As Integer
Dim s As Integer
Dim U As String
Dim V As String
s = 1

U = Sheets("test").Range("K2").Column
Sheets("test").Select

Nom cherche = Sheets("c").Range("b15").Value

Set RESULT = Range("b2:b300").Find(What:=nomCherche, LookIn:=xlValues)

Sheets("c").Range("a15").NumberFormat = "0000"
Sheets("c").Range("b15").Value = RESULT.Offset(0, -1).Value
Sheets("c").Select
Range("b15").Select

For i = 9 To 60
If RESULT.Offset(0, i).Value = "" Then
U = U + 1
GoTo SUITE
Else

V = Cells(1, U).Value ' y a t il une erreur sur cette ligne

ActiveCell.Offset(0, s).Value = V
ActiveCell.Offset(1, s).Value = RESULT.Offset(0, i).Value
U = U + 1
s = s + 1
SUITE:
End If

Next i

End Sub
Donnez votre avis
Utile
+0
plus moins
bonjour, suggestions:
V = Sheets("?").Cells(1, U).Value

et supprimer les instructions
.Select

et changer
ActiveCel
l en autre chose
et supprimer le
Goto
Donnez votre avis
Utile
+0
plus moins
Bonjour,
acticecell me permet de changer de cellule pour réécrire les valeurs sur une autre feuille, le goto lui empêche de recopier les cellules vides. le code
V = Sheets("test").Cells(1, U).Value ' erreur 1004
j'avais déjà essayé ce code.

merci
Donnez votre avis
Utile
+0
plus moins
bonjour


Sheets("test").Range("K2").Column renvoie un nombre (integer
U est donc un nombre
(a ce propos, tu pourrais écrire U=11 + simplement !)
dans tes déclarations U est du texte (dim U as string)


Dim nomCherche As String
ok
pourquoi écrire dans le code
nom cherche (espace ?)

mais il y a beaucoup d'autres incohérences dans ton code

kit24be 43Messages postés samedi 12 janvier 2013Date d'inscription 15 mai 2017 Dernière intervention - 15 mai 2017 à 12:01
Bonjour,

dans mon vrai code nomcherche est sans espace, par contre j'ai changer dim U as string en integer, cela fonctionne.
Un très grand merci
Bonne journée
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !