Problème avec Cells.

Résolu
kit24be Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -  
kit24be Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -
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



5 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

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

Y a pas de
nomCherche="quelquechose"
!!
0
kit24be Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   1
 
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
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, suggestions:
V = Sheets("?").Cells(1, U).Value

et supprimer les instructions
.Select

et changer
ActiveCel
l en autre chose
et supprimer le
Goto
0
kit24be
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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

 Michel
0
kit24be Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   1
 
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
0