Probleme de boucle vba
Résolu
chrismeun
Messages postés
91
Date d'inscription
Statut
Membre
Dernière intervention
-
chrismeun Messages postés 91 Date d'inscription Statut Membre Dernière intervention -
chrismeun Messages postés 91 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
dans un tableau je selectionne une partie de colonne e10:e ....jusqu'a la fin de la colonne
puis je recherche une valeur definie par une variable(n°client), quand je trouve cette valeur, je recopie la ligne entiere et la copie dans une autre feuille
...jusque la cela fonctionne !!! je reviens a la cellule trouvée et je voudrais continuer ma recherche ....et c'est la que je coince ,si quelqu'un peux m'aider
voila mon code
Sheets("cLIENT").Select
Dim CODECLIENT As String
CODECLIENT = InputBox(" Quel compte client voulez vous consulter?")
Sheets("recapfacture").Select
Range("a2").Select
Range("C10:C28").Select
While ActiveCell >= 0
Selection.Find(What:=CODECLIENT, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(0, -2).Activate
ActiveCell.Offset(-0, 0).Range("a1:dv1").Select
ActiveCell.Offset(0, 2).Range("a1").Activate
Selection.Copy
Sheets("Consultation compte").Select
Range("a5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("5:5").Select
Rows("5:5").Insert Shift:=xlDown
Sheets("recapfacture").Select
ActiveCell.Offset(1, 0).Activate
Wend
End Sub
dans un tableau je selectionne une partie de colonne e10:e ....jusqu'a la fin de la colonne
puis je recherche une valeur definie par une variable(n°client), quand je trouve cette valeur, je recopie la ligne entiere et la copie dans une autre feuille
...jusque la cela fonctionne !!! je reviens a la cellule trouvée et je voudrais continuer ma recherche ....et c'est la que je coince ,si quelqu'un peux m'aider
voila mon code
Sheets("cLIENT").Select
Dim CODECLIENT As String
CODECLIENT = InputBox(" Quel compte client voulez vous consulter?")
Sheets("recapfacture").Select
Range("a2").Select
Range("C10:C28").Select
While ActiveCell >= 0
Selection.Find(What:=CODECLIENT, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(0, -2).Activate
ActiveCell.Offset(-0, 0).Range("a1:dv1").Select
ActiveCell.Offset(0, 2).Range("a1").Activate
Selection.Copy
Sheets("Consultation compte").Select
Range("a5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("5:5").Select
Rows("5:5").Insert Shift:=xlDown
Sheets("recapfacture").Select
ActiveCell.Offset(1, 0).Activate
Wend
End Sub
1 réponse
-
Bonsoir
essaies ce code
codeclient = InputBox(" Quel compte client voulez vous consulter?") With Sheets("recapfacture") nbre = Application.CountIf(.Range("C10:C28"), codeclient) lig = 9 lig_2 = 5 Application.ScreenUpdating = False For cptr = 1 To nbre lig = .Columns(3).Find(codeclient, .Cells(lig, "C"), xlValues).Row temp = .Range(.Cells(lig, "A"), .Cells(lig, "DV")).Value With Sheets("Consultation compte") .Range(.Cells(lig_2, "A"), .Cells(lig_2, "DV")) = temp lig_2 = lig_2 + 1 End With Next End With-
bonjour,
merci de ton aide , cela fonctionne trés bien et en plus j'ai appris !!! cela me servira dans mes prochaines macros
maintenant je vais chercher comment dimensionner automatiquement le tableau obtenu pour l'imprimer puis le remettre a zero....si tu as une idée je suis preneur car tes méthodes sont beaucoup plus efficaces que mes tatonnements
merci d'avance -
-
-
-
-