sortir d'une boucle en fin de tableau
#1
Régulier XLPages

Inscription: 24/08/2011

Messages: 54

Système d'exploitation:
PC
Version Excel utilisée:
OFFICE EXCEL 2007
Posté le : 21-09-2011 16h52
Bonjour à toutes et tous.

dans mon appli je prend toutes les lignes non vide en colonne A. quand j'arrive aprés la derniére ligne non vide
J'ai les lignes normal d'Excel non actives.
Je cherche le moyen de sortir de la boucle aprés ma derniére ligne, je met en exemple ma boucle car j'ai du mal a envoyer un fichier joint. d'avance merci si quelqu'un me donne la soluce.
---------------------------------------------------------------------
 Dim j As Integer
j = 1
With Feuil3
    For Each lg In .UsedRange.Rows
'pour chaque ligne de la colonne A
    If Application.Max(.Range("A" & lg.Row).EntireRow) <> " " Then
'si la valeur est differente de rien
           Sheets("Feuil3").Select
' copier les cellules a,b,c,d feuil3
           Range("A" & j, "D" & j).Select
           Selection.Copy
           Sheets("Données").Select
' allez Feuil=données, coller dans a2,b2,c2,d2
           Range("A2").Select
           Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
           SkipBlanks:=False, Transpose:=False
           j = j + 1
           End If
       Next
   End With

----------------------------------------------------------------------



Hors Ligne
Rapport   Haut 

Re: sortir d'une boucle en fin de tableau
#2
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 21-09-2011 20h05
Bonsoir ramarc,

Regarde si le code te convient.
Sub ramac_mdf_xlpages()
Dim j As Integer
Dim lg As Range
j = 1
With Sheets("Feuil3")
    For Each lg In .UsedRange.Rows
        'pour chaque ligne de la colonne A
        If Application.Max(.Range("A" & lg.Row).EntireRow) <> " " Then
            'si la valeur est differente de rien
            ' copier les cellules a,b,c,d feuil3
            .Range("A" & j, "D" & j).Copy
            ' allez Feuil=données, coller dans a2,b2,c2,d2
            Sheets("Données").Range("A2").PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
                SkipBlanks:=False, Transpose:=False
            j = j + 1
        Else
            'Si la valeur est rien, la partie si dessous est exécutée
            'l'instruction Exit For fait quitter la boucle For ... Next
            Exit For
        End If
    Next
End With

End Sub
Ramac que veux-tu faire exactement ?

@+Jean-Marie 
Hors Ligne
Rapport   Haut 

Re: sortir d'une boucle en fin de tableau
#3
Régulier XLPages

Inscription: 24/08/2011

Messages: 54

Système d'exploitation:
PC
Version Excel utilisée:
OFFICE EXCEL 2007
Posté le : 22-09-2011 11h00
Bonjour,
Merci  pour ton aide.
En fait je pense que le test :

If Application.Max(.Range("A" & lg.Row).EntireRow) <> " " Then

Ne fonctionne pas, j'utilise ce test pour sortir de ma boucle quand on atteint la fin du tableau c'est à dire la derniére ligne ou il y a quelque chose, aprés c'est les lignes vide de la feuille. 
En faisant le débogage je voit qu'il se contante de prendre toutes les lignes de 1 à la fin de la feuille.
avec ce test je veux qu'il sélectionne toutes les lignes active et quand il rencontre la ligne vide il sort de la boucle.
si il y a un autre moyen de prendre que les lignes actives ???
Cordialement.   

           
Hors Ligne
Rapport   Haut 

Re: sortir d'une boucle en fin de tableau
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 22-09-2011 22h07
Bonsoir ramarc, JeanMarie, le Forum,

Tout comme l'ami JeanMarie : pas sûr d'avoir tout compris dans le traitement souhaité...

A défaut d'explications claires, tu peux peut-être essayer ça :
Option Explicit

Sub Traitement()
Dim Plage As Range, Cell As Range
Dim J As Long
    With Sheets("Feuil3")
        'Plage regroupant toutes les cellules non vides de la colonne A
        Set Plage = .Columns(1).SpecialCells(xlCellTypeConstants, 23)
        J = 1
        'Pour chaque cellule de la plage
        For Each Cell In Plage
            'Copier les cellules Ax à Dx sur la feuille "Données" par incrément d'une ligne
            Cell.EntireRow.Range("A1:D1").Copy Destination:=Sheets("Données").Cells(J, 1)
            J = J + 1
        Next Cell
    End With
End Sub

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: sortir d'une boucle en fin de tableau
#5
Régulier XLPages

Inscription: 24/08/2011

Messages: 54

Système d'exploitation:
PC
Version Excel utilisée:
OFFICE EXCEL 2007
Posté le : 29-09-2011 10h10
Bonjour a tous, et merci, j'ai fait comme cela et ça fonctionne.

j = 1
' Teste le contenu de la cellule active, si celle-ci est vide, sort de la boucle.
      Do Until IsEmpty(ActiveCell)
          Sheets("Feuil3").Select
' copier les cellules a,b,c,d feuil3
           Range("A" & j, "D" & j).Select
           Selection.Copy
           Sheets("Données").Select
' allez Feuil=données, coller dans a2,b2,c2,d2
           Range("A2").Select
           Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
           SkipBlanks:=False, Transpose:=False
' Affiche le contenu des cellules dans un message.
           MsgBox ActiveCell.Value
           Sheets("Feuil3").Select
           Range("A" & j).Select
           ActiveCell.Offset(1, 0).Select
         ' Passe à la cellule suivant 1 ligne en dessous.
'         ActiveCell.Offset(1, 0).Select
j = j + 1
        ' Retourne au début de la boucle.
      Loop
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes