Problème avec Cells.

Résolu/Fermé
kit24be Messages postés 46 Date d'inscription samedi 12 janvier 2013 Statut Membre Dernière intervention 22 octobre 2017 - 14 mai 2017 à 22:40
kit24be Messages postés 46 Date d'inscription samedi 12 janvier 2013 Statut Membre Dernière intervention 22 octobre 2017 - 15 mai 2017 à 12:01
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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
15 mai 2017 à 06:47
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 samedi 12 janvier 2013 Statut Membre Dernière intervention 22 octobre 2017 1
15 mai 2017 à 08:23
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 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471
Modifié le 15 mai 2017 à 08:33
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
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié le 15 mai 2017 à 11:49
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 samedi 12 janvier 2013 Statut Membre Dernière intervention 22 octobre 2017 1
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
0