Microsoft 365 Récupérer ligne selon couleur

Abdoul aziz

XLDnaute Junior
Bonjour à tous qui peut m'aider
j'ai un fichier avec 4 colonnes (A B C D). dans le colonne B j'ai des doublons que je colorie en rouge (donc il s'affiche comme ca mais avec une couleur rouge)
6519520215543
6519520215543
Maintenant je souhaite récupérer la première ligne coloriée en rouge c'est à dire le premier 6519520215543 (colonne A, B et C) sauf que je souhaite aussi récupérer la valeur de ma colonne A qui correspondant au deuxième 6519520215543 et mettre cette valeur dans ma colonne (D) de la ligne récupérer

Je mets en pièce jointe mon fichier
 

Pièces jointes

  • stephane.xlsm
    66.9 KB · Affichages: 6

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Abdoul Aziz, bonjour le forum,

En pièce jointe ton fichier modifié avec un Commandbutton Copie avec le code ci-dessous :

VB:
Private Sub CommandButton1_Click() 'bouton "Copie"
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim DLS As Integer 'déclare la variable DLS (Dernière Ligne Source)
Dim I As Integer 'déclare la variable I (Incrément)
Dim PLVD As Integer 'déclare la variable PLVD (Première Ligne Vide Destination)

Set OS = Worksheets("Sheet1") 'définit l'onglet source OS
Set OD = Worksheets("Feuil2") 'définit l'onglet destination OD
DLS = OS.Cells(Application.Rows.Count, "B").End(xlUp).Row 'définit la dernière ligne éditée DLS de la colonne B de l'onglet source
For I = 2 To DLS 'boucle des lignes 2 à DLS
    If OS.Cells(I, "B").Value = OS.Cells(I + 1, "B") Then 'condition : si la cellule ligne I, colonne B est égale à la cellule ligne I + 1, colonne B
        PLVD = OD.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1 'définit la première ligne vide PLVD de la colonne A de l'onglet destination
        OS.Cells(I, "A").Resize(1, 3).Copy OD.Cells(PLVD, "A") 'copie les trois premières cellules de la ligne I de l'onglet source dans la cellule ligne PLVD colonne A de l'onglet destination
        OS.Cells(I + 1, "A").Copy OD.Cells(PLVD, "D") 'copie la cellule une ligne en dessous de la colonne A de l'onglet source dans la cellule ligne PLVD colonne D de l'onglet destination
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
OD.Activate 'active l'onglet destination
End Sub
Clique dessus... Si les doublons se suivent toujours ça devrait convenir...
Le fichier :
 

Pièces jointes

  • Abdoul Aziz_ED_v01.xlsm
    62.5 KB · Affichages: 5

Abdoul aziz

XLDnaute Junior
Bonjour Abdoul Aziz, bonjour le forum,

En pièce jointe ton fichier modifié avec un Commandbutton Copie avec le code ci-dessous :

VB:
Private Sub CommandButton1_Click() 'bouton "Copie"
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim DLS As Integer 'déclare la variable DLS (Dernière Ligne Source)
Dim I As Integer 'déclare la variable I (Incrément)
Dim PLVD As Integer 'déclare la variable PLVD (Première Ligne Vide Destination)

Set OS = Worksheets("Sheet1") 'définit l'onglet source OS
Set OD = Worksheets("Feuil2") 'définit l'onglet destination OD
DLS = OS.Cells(Application.Rows.Count, "B").End(xlUp).Row 'définit la dernière ligne éditée DLS de la colonne B de l'onglet source
For I = 2 To DLS 'boucle des lignes 2 à DLS
    If OS.Cells(I, "B").Value = OS.Cells(I + 1, "B") Then 'condition : si la cellule ligne I, colonne B est égale à la cellule ligne I + 1, colonne B
        PLVD = OD.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1 'définit la première ligne vide PLVD de la colonne A de l'onglet destination
        OS.Cells(I, "A").Resize(1, 3).Copy OD.Cells(PLVD, "A") 'copie les trois premières cellules de la ligne I de l'onglet source dans la cellule ligne PLVD colonne A de l'onglet destination
        OS.Cells(I + 1, "A").Copy OD.Cells(PLVD, "D") 'copie la cellule une ligne en dessous de la colonne A de l'onglet source dans la cellule ligne PLVD colonne D de l'onglet destination
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
OD.Activate 'active l'onglet destination
End Sub
Clique dessus... Si les doublons se suivent toujours ça devrait convenir...
Le fichier :
Merci Robert ça fonctionne très bien merci beaucoup
 

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 066
Membres
103 110
dernier inscrit
Privé