Boucle qui ne boucle pas...

yannick64

XLDnaute Junior
Bonjour à tous,

J'essaye en vain de faire fonctionner ce code VBA, il doit y avoir une erreur mais je ne vois pas ou... Ce code ne fonctionne qu'une fois alors que je lui demande de boucler jusqu’à la ligne 200 ou jusqu’à la première cellule vide de la colonne K. Si quelqu'un peu jeter un coup d’œil...

Merci par avance
Yannick

VB:
Sub Rectangle1_Cliquer()
'
'
'Sélection de la feuille Listing complet
Sheets("Listing complet").Select
Range("K5:K200").Select
'
'Vérification du critère de sélection indice Zone 1, 2 ou 3
Do While ActiveCell.Value <> "" 'Boucle tant qu'on ne tombe pas sur une cellule vide
        If ActiveCell.Value Like "1" Then

            ligne = ActiveCell.Row              'on stocke le numéro de ligne
            controle = Cells(ligne, 3).Value    'on stocke le numéro fi pour vérification des doublons

            'copie de la ligne (colonne A à Y)
            Range(Cells(ligne, 1), Cells(ligne, 14)).Copy
            Sheets("FS Alerte Z1").Activate
            Range("A3").Select
           
         
                    'Collage de la ligne
                    ActiveSheet.Paste
                    Sheets("FS Alerte Z1").Select
                    ActiveCell.Offset(1, 0).Select

        'pas de 1 dans la cellule
        Else
            ActiveCell.Offset(1, 0).Select
    End If

Loop

End Sub
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Avant toute réponse VBA, il faudrait déjà urgemment répondre à ceci, non ?
Extrait de la charte du forum
5 – La possibilité de joindre des fichiers est donnée sur ce forum. Ne pas hésiter à utiliser cette fonction, tout en veillant que les données soient bidons et donc qu’aucune donnée confidentielle, nominative ne soit dans le fichier.
 

Calvus

XLDnaute Barbatruc
Bonsoir à tous,

Mon intervention n'a rien à voir avec ce fil.

Simplement pour savoir si à cette heure de la journée, mon ami Staple a pris son petit déjeuner, ou s'est brossé les dents, ou vient de sortir de la douche ou encore rentre du cinéma où il a vu le dernier... ce qu'il veut en fait ! ;):D:D:D:p

Bon je sors....:rolleyes:
 

Staple1600

XLDnaute Barbatruc
Bonsoir Calvus

Je suis en train de manger une tranche pain azyme sur laquelle j'ai déposé une couche de mauvais fromage, saupoudrée de spiruline et de levure de bière.
J'ingurgite cet aliment tout en écoutant ceci dans VLC.
Dans mon browser, je surfe sur XLD.
J'ai enfilé mon pyjama en pilou
La température de la pièce est de 19/20°.

Pour revenir à la question, encore une boucle simplement évitée avec le code suivant ;)
VB:
Sub Macro1()
With ActiveSheet.ListObjects("Tableau1")
    .Range.AutoFilter Field:=11, Criteria1:="1"
    .DataBodyRange.SpecialCells(xlCellTypeVisible).Copy
End With
Sheets("FS Alerte Z1").Range("A1").PasteSpecial xlValues
End Sub

NB: J'ai posté du VBA même si le fichier n'a pas été anonymisé, vu que cela semble ne déranger personne...et qu'il est désormais trop tard.
 

yannick64

XLDnaute Junior
Bonsoir Calvus

Je suis en train de manger une tranche pain azyme sur laquelle j'ai déposé une couche de mauvais fromage, saupoudrée de spiruline et de levure de bière.
J'ingurgite cet aliment tout en écoutant ceci dans VLC.
Dans mon browser, je surfe sur XLD.
J'ai enfilé mon pyjama en pilou
La température de la pièce est de 19/20°.

Pour revenir à la question, encore une boucle simplement évitée avec le code suivant ;)
VB:
Sub Macro1()
With ActiveSheet.ListObjects("Tableau1")
    .Range.AutoFilter Field:=11, Criteria1:="1"
    .DataBodyRange.SpecialCells(xlCellTypeVisible).Copy
End With
Sheets("FS Alerte Z1").Range("A1").PasteSpecial xlValues
End Sub

NB: J'ai posté du VBA même si le fichier n'a pas été anonymisé, vu que cela semble ne déranger personne...et qu'il est désormais trop tard.

Super ! ça fonctionne nickel !:) J'ai pas compris comment excel détermine que tableau1 c'est le tableau de ma première feuille o_O mais ça fait le boulot !!!
 

Calvus

XLDnaute Barbatruc
Re, :)
e suis en train de manger une tranche pain azyme sur laquelle j'ai déposé une couche de mauvais fromage, saupoudrée de spiruline et de levure de bière.
J'ingurgite cet aliment tout en écoutant ceci dans VLC.
Dans mon browser, je surfe sur XLD.
J'ai enfilé mon pyjama en pilou
La température de la pièce est de 19/20°.

Excellent !!!;):):)

J'écouterai ton fichier, cela a l'air intéressant.

Quant à moi, entre 2 fils sur XLD, je joue ça. ;)
 

Pièces jointes

  • Over The Rainbow 5.07.17.zip
    2 MB · Affichages: 23

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

Une macro qui traite les 3 zones en même temps.
VB:
Sub Macro2()
Dim i
On Error Resume Next
Feuil4.Cells.Clear: Feuil5.Cells.Clear: Feuil6.Cells.Clear
Application.ScreenUpdating = False
For i = 1 To 3
With Worksheets("Listing complet").ListObjects("tableau1")
    .Range.AutoFilter Field:=11, Criteria1:=i
    .DataBodyRange.SpecialCells(xlCellTypeVisible).Copy
End With
Sheets("FS Alerte Z" & i).Range("A1").PasteSpecial xlValues
Next
With Worksheets("Listing complet")
.ListObjects("Tableau1").Sort.SortFields.Clear: .ShowAllData: .Select
End With
End Sub
 

yannick64

XLDnaute Junior
Bonsoir le forum,

Je teste depuis un moment le code de Staple1600 qui fonctionne mais qui me pose un petit problème. Je dois faire d'autres manipulations sur ce fichier et une fois le code exécuté je n’arrive plus a afficher l'ensemble de mes lignes.
J'ai essayé plusieurs modifications sans succès, avec la dernière modification j'arrive de façon aléatoire à afficher mes lignes mais je ne sais pas pourquoi elles ne s'affichent pas à chaque fois. Quelqu'un aurait il une idée?
Je remet le fichier en pièce jointe.

Merci d'avance et bonne soirée
Yannick
 

Pièces jointes

  • Listing habitants anonyme.xlsm
    44.9 KB · Affichages: 14

Discussions similaires

Réponses
2
Affichages
147

Statistiques des forums

Discussions
312 196
Messages
2 086 094
Membres
103 116
dernier inscrit
kutobi87