Report de lignes dans autre onglet

Bonjour,

Je souhaiterai faire un report de ligne uniquement avec les ligne ayant dans la colonne statut = vide dans l'onglet suivant avec certaines colonne en moins.

Et de plus ajouter si vis = case en rouge dans l'autre onglet et si ecrou = bleu.

Merci de votre aide.

15classeur1.xlsx (9.92 Ko)

bonjour Mdauss, bonjour le forum,

Ci-dessous le code pour récupérer les données sans status :

Sub Macro1()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim TC As Variant 'déclare la variable TC (tableau de Cellules)
Dim NL As Integer 'déclare la variable NL (Nombre de Lignes)
Dim NC As Integer 'déclare la variable NC (Nombre de Colonnes)
Dim K As Integer 'déclare la variable K (incrément de colonne)
Dim I As Integer 'déclare la variable I (Incrément de ligne))
Dim TL() As Variant 'déclare la variable TL (tableau de Lignes)
Dim J As Byte 'déclare la variable J (incrément de colonne)

Set OS = Sheets("Feuil1") 'définit l'onglet source OS
Set OD = Sheets("Feuil2") 'définit l'onglet destination OD
OD.Cells.Clear 'vide le contenu de l'onglet destination (eface d'éventuelles anciennes données)
TC = OS.Range("A1").CurrentRegion 'définit le tableau de cellule TC
NL = UBound(TC, 1) 'définit le nombre de lignes NL du tableau de cellules TC
NC = UBound(TC, 2) 'définit le nombre de colonne NC du tableau de cellules TC
ReDim Preserve TL(1 To NC, 1 To 1) ''redimensionne le tableau de lignes TL (autant de lignes que TC a de colonnes, 1 colonne)
For J = 1 To NC 'boucle sur toutes les colonnes de TC
    TL(J, 1) = TC(1, J) 'récupère les en-têtes du tableau TC
Next J 'prochaine colonne de la boucle
K = 2 'initialise la variable K
For I = 2 To NL 'boucle 1 : sur toutes les lignes de TC (en partant de la seconde)
    If TC(I, 22) = "" Then 'condition : si la valeur ligne I, colonne 22 (=>colonne V) est vide
        ReDim Preserve TL(1 To NC, 1 To K) 'redimensionne le tableau de lignes TL (autant de lignes que TC a de colonnes, K colonnes)
        For J = 1 To NC 'boucle 2 : sur toutes les lignes de TC (en partant de la seconde)
            TL(J, K) = TC(I, J) 'récupère dans la ligne de TL la valeur de la oolonne de TC (tranposition)
        Next J 'prochaine colonne de la boucle 2
        K = K + 1 'incrémente K (ajoute une colonne à TC)
    End If 'fin de la condition
Next I 'prochaien ligne de la boucle 1
If K = 2 Then Exit Sub 'si aucune données correspondante, sort de la procédure
'renvoi dans A1 (redimensionnée) de l'onglet OD le tableau TL tranposé
OD.Range("A1").Resize(UBound(TL, 2), UBound(TL, 1)) = Application.Transpose(TL)
End Sub

Pour le reste il y a pluseurs rouge et plusieurs bleu et VBA a besoin de précision. Dommage que tu n'aies pas mis un exemple de chaque couleur dans ton fichier...

Merci à toi.

Comment l'intégrer à mon fichier ? pas doué en VBA?

Directement dans la feuille 2?

merci de ton aide


C'est bon j'ai réussi ^^

par contre pour les couleurs fichier joint ^^

9classeur1.xlsx (10.30 Ko)

Bonjour Mdauss, bonjour le forum,

En pièce jointe ton fichier modifié. Clique sur le bouton Report pour effectuer le... report.

14classeur1.xlsm (29.36 Ko)

Bonjour tout le monde,

Un essai de ma part voir si cela peut te convenir.

Cordialement.

6mdauss.xlsm (20.60 Ko)
Rechercher des sujets similaires à "report lignes onglet"