A
albert
Guest
Bonsoir à tous, forumiens et forumiennes,
J’ai utilisé la "Find, méthode – Exemple" de l’aide, pour mener à bien mon projet de calcul de support-résistances
http://www.excel-downloads.com/html/French/forum/messages/1_91162_91162.htm
- Je n’arrive pas à comprendre pourquoi ce programme remplit toujours la même cellule en boucle, alors que je voulais lui faire remplir 1 colonne par résultat trouvé, soit :
12 - 22 - 22 - 62 - 22 - 12 : il doit donc y avoir une double boucle… malgré tous mes efforts, je n’ai pas trouvé
- Egalement, le compteur de colonnes doit correspondre au nombre de valeurs trouvées par .Find(2, LookIn:=xlValues)
....
si j'écris i = c.Count , ça ne marche pas puisque c est déclaré plus bas
Set c = .Find(2, LookIn:=xlValues)
mon code :
Sub cherche()
'rechercher toutes les cellules de la plage
'de la première feuille de calcul qui contiennent la valeur 2,
'puis copier-coller en colonne D et suite.
'cette valeur 2 devra être remplacée par des variables
compteur = Range("A2", Range("A2").End(xlDown)).Address
compte = Range("A2", Range("A2").End(xlDown)).Count
For i = 1 To compte
'For j = To compte 'à revoir
With Worksheets(1).Range(compteur)
Set c = .Find(2, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Select
Selection.Copy
Cells(2, 3 + i).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Next
'Next
End Sub
merci d'avance pour toute aide
albert
J’ai utilisé la "Find, méthode – Exemple" de l’aide, pour mener à bien mon projet de calcul de support-résistances
http://www.excel-downloads.com/html/French/forum/messages/1_91162_91162.htm
- Je n’arrive pas à comprendre pourquoi ce programme remplit toujours la même cellule en boucle, alors que je voulais lui faire remplir 1 colonne par résultat trouvé, soit :
12 - 22 - 22 - 62 - 22 - 12 : il doit donc y avoir une double boucle… malgré tous mes efforts, je n’ai pas trouvé
- Egalement, le compteur de colonnes doit correspondre au nombre de valeurs trouvées par .Find(2, LookIn:=xlValues)
....
si j'écris i = c.Count , ça ne marche pas puisque c est déclaré plus bas
Set c = .Find(2, LookIn:=xlValues)
mon code :
Sub cherche()
'rechercher toutes les cellules de la plage
'de la première feuille de calcul qui contiennent la valeur 2,
'puis copier-coller en colonne D et suite.
'cette valeur 2 devra être remplacée par des variables
compteur = Range("A2", Range("A2").End(xlDown)).Address
compte = Range("A2", Range("A2").End(xlDown)).Count
For i = 1 To compte
'For j = To compte 'à revoir
With Worksheets(1).Range(compteur)
Set c = .Find(2, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Select
Selection.Copy
Cells(2, 3 + i).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Next
'Next
End Sub
merci d'avance pour toute aide
albert