Probleme de boucle vba
Résolu
chrismeun
Messages postés
237
Date d'inscription
Statut
Membre
Dernière intervention
-
chrismeun Messages postés 237 Date d'inscription Statut Membre Dernière intervention -
chrismeun Messages postés 237 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
A voir également:
- Probleme de boucle vba
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum Excel
- Dépassement de capacité vba ✓ - Forum Excel
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
- Vba attendre 1 seconde ✓ - Forum VB / VBA
1 réponse
Bonsoir
essaies ce code
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
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
Tu veux imprimer que le tableau ou la feuille "consultation compte" avec le tableau ?
pour remettre à zéro, il serait peut-être ° prudent de le faire soir quand on relance la macro ou soit par une petite macro avec un bouton "raz". tu dis ?
juste la partie de la feuille "consultation compte" col A :P qui s'ajuste en hauteur automatiquement en fonction du nombre de lignes
merci d'avance
merci de ton aide