Regrouper lignes avec mêmes données en colonne B et C
Bonjour à tous,
Après plusiuers tentatives, je n’arrive pas à résoudre mon problème, alors je m’adresse à vous pour m’aider.
J’ai une feuille avec 7 colonnes.
Colonne A : N° BAGUE DU JEUNE
Colonne B : N° BAGUE DU PÈRE.
Colonne C : N° BAGUE DE LA MÈRE.
Colonne D : Eleveur
Colonne E : Couleur
Colonne F : Volière
Colonne G : Cage
Vous trouverer en pièce jointe le fichier avec les données.
Etape 1 : Dans la feuille ‘Parents’, je tiens la gestion de mon élevage de canaris avec les origines pour chaque sujet, j’aimerais lors du clic sur une cellule donnée de la colonne A (Colonne des jeunes), on cré une feuille nommée ‘Regrouper Jeunes Du Même Couple’, puis parcourir la feuille ‘Parents’ afin de retrouver tous les jeunes venant du même couple (Père en colonne B, Mère en colonne C).
Etape 2 : Si on clic sur une autre cellule différente de la précedente, on insère une ligne vide puis on insère tous les jeunes venant du même autre couple.
Voici un exemple :
Je clic par exemple sur la clellule de la ligne 61 : HTY27-009/2012 F
HTY27-007/2012 M HTY27-116/2010 M 856-119/2010 F Maes Lucien Entièrement Jaune. 1ere volière Cage 1
HTY27-008/2012 M HTY27-116/2010 M 856-119/2010 F Maes Lucien Entièrement Jaune. 1ere volière Cage 1
HTY27-009/2012 F HTY27-116/2010 M 856-119/2010 F Maes Lucien Entièrement Jaune. 2ème volière Cage 1
HTY27-010/2012 M HTY27-116/2010 M 856-119/2010 F Maes Lucien Entièrement Jaune. 4ème volière Cage 1
HTY27-011/2012 M HTY27-116/2010 M 856-119/2010 F Maes Lucien Entièrement Jaune. 4ème volière Cage 1
On insère une ligne vide.
Je clic par exemple sur la cellule de la ligne 175 : HTY27-095/2012
HTY27-091/2012 M HWA76-020/2011 M HWA72-112/2011 F Maes Lucien Entièrement jaune 2ème volière Cage 16
HTY27-092/2012 M HWA76-020/2011 M HWA72-112/2011 F Maes Lucien Entièrement jaune 1ere volière Cage 16
HTY27-093/2012 M HWA76-020/2011 M HWA72-112/2011 F Maes Lucien Entièrement jaune 2ème volière Cage 16
HTY27-094/2012 M HWA76-020/2011 M HWA72-112/2011 F Maes Lucien Entièrement jaune 2ème volière Cage 16
HTY27-095/2012 M HWA76-020/2011 M HWA72-112/2011 F Maes Lucien Tâche derrière tête 2ème volière Cage 16
Je reste à votre dispisition pour d’autres informations supplémentaires.
D’avance GRAND MERCI de votre aide.
Bonjour,
Dans le fichier joint, tu fais un double-click dans une cellule de la colonne A, et la progéniture des parents est extraite vers l'onglet "Resultat"
Si tu refais un double-clic sur un oiseau dont les parents sont déjà présents dans l'onglet "Resultat", tu es prévenu, et le code s'arrête...
Le code, dans l'évènement de la feuille "Parents" (clic droit sur le nom de l'onglet, "Visualiser le code")
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim DerLig As Long
If Not Intersect(Columns(1), Target) Is Nothing And Target.Row > 1 And Target <> "" Then
If Application.CountIf(Sheets("Resultat").Columns(1), Target) = 1 Then
MsgBox "Couple déjà extrait"
Cancel = True
Exit Sub
End If
With Sheets("Resultat")
.Range("A1:G1").Value = Me.Range("A1:G1").Value
DerLig = IIf(IsEmpty(.Range("A2")), 1, .Cells(Rows.Count, 1).End(xlUp).Row)
End With
With Sheets("Parents")
.Range("A1:G" & .Cells(Rows.Count, 1).End(xlUp).Row).Name = "base"
.Range("M1:N1").Value = .Range("B1:C1").Value
.Range("M2:N2").Value = Target.Offset(, 1).Resize(1, 2).Value
.Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range("M1:N2"), _
CopyToRange:=Sheets("Resultat").Cells(DerLig + 1, 1)
.Range("M1:N2").Clear
End With
With Sheets("Resultat")
If DerLig = 1 Then
.Rows(DerLig + 1).Delete
Else
.Rows(DerLig + 1).Clear
End If
End With
Cancel = True
End If
End Sub
Le fichier :
Bonne journée
Bonjour cousinhub,
Merci tout d’abords d’avoir pris la peine de me lire et de répondre à ma demande.
Merci également pour le mot explicatif qui accompagne ta réponse, il m’a bien guidé.
Je viens de finir mes tests à l'instant même, le code fonctionne à merveille et me donne totalement satisfaction, Quel talent.
Amicalement et bien à vous.