Regrouper dans une feuille les données de plusieurs colonnes

Bonjour,

Je souhaite regrouper sur ma feuille 2, les données concernant les enfants de ma feuille 1.

Comment puis-je faire ? Recherchev ne fonctionne pas ? Je souhaite aussi grouper le nom et prénom du parent dans 1 seule colonne.

Je vous joins mon modèle de fichier. Merci pour votre aide.

Alexandra

12test-formules.zip (6.96 Ko)

Bonjour,

La base données en feuille(1) n'est pas exploitable. Tu indiques uniquement un prénom d'enfant est tu souhaites ensuite en

feuille(2) faire des recherches sur les enfants qui ne sont en plus pas dans la même colonne ???

Et quand tu auras 2 enfants avec le même prénom ? la recherche va ramener quels parents ?

Bonjour, je ne comprends pas, la valeur que je chercher est l'année de naissance.

Je souhaite rapatrier les prénoms des enfants avec une même date de naissance ainsi que leur parent respectif.

Effectivement ma feuille 1 n'est peut-être pas exploitable en l'état pour faire cela… Comment puis-je la modifier ?

Merci

Bonjour le fil, bonjour le forum,

Peut-être comme ça :

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 TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim R As Range 'déclare la variable R (recherche)

Set OS = Worksheets("Famille") 'définit l'onglet OS
Set OD = Worksheets("Enfants par âge") 'définit l'onglet OD
TV = OS.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
For I = 2 To UBound(TV, 1) 'boucle 1 : sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
    For K = 4 To UBound(TV, 2) 'boucle 2 : sur toutes les colonnes K du tableau des valeurs TV
        Select Case K 'agit en fonction de la colonne
            Case 4, 6, 8, 10, 12, 14 'cas des colonnes 4, 6, 8, 10, 12, 14
                'si la donnée ligne I colonne K du tableau des valeurs TV n'est pas vide, définit la recherche R (recherche l'année dans la ligne 1 de l'onglet OD)
                If TV(I, K) <> "" Then Set R = OD.Rows(1).Find(TV(I, K), , xlValues, xlWhole)
                If Not R Is Nothing Then 's'il existe au moins une occurrence trouvée
                    LI = OD.Cells(1, R.Column).End(xlDown).Row + 1 'définit la première ligne vide LI de la colonne de l'occurrence trouvée
                    OD.Cells(LI, R.Column) = TV(I, K - 1) 'renvoie le nom de l'enfant dans la colonne de l'occurrence trouvée
                    OD.Cells(LI, R.Column + 1) = TV(I, 2) & " " & TV(I, 1) 'renvoie le prénom et le le nom des parents dans la colonne à coté
                    Set R = Nothing 'vide la recherche R
                End If 'fin de la condition
         End Select 'fin de l'action en fonction de la colonne
    Next K 'prochaine colonne de la boucle 2
Next I 'prochaine ligne de la boucle 1
End Sub

Bonjour,

C'est trop compliqué pour moi, je fais comment pour mettre ça dans mon fichier ?

Re,

J'ai mis le fichier en pièce jointe dans mon post précédent. Tu le télécharges et tu le renommes à ta convenance...

Re bonjour,

Ci-joint en modifiant la présentation de la base de donnée un tableau croisé dynamique pour la liste des enfants par année.

Merci à tous, je regarde ça.

Rechercher des sujets similaires à "regrouper feuille donnees colonnes"