Transfert de données colonnes

Bonjour,

Voici ce que j'essaie de faire (je vais essayer d'être la plus claire possible).

Contexte :

Sur les feuilles 1, 2 & 3, j'ai un tableau composé de plusieurs colonnes dont une étant la colonne "Tasks" et l'autre "Pilot)". Dans "pilot" est inscrit la personnes se chargeant de la tâche indiquée en colonne "tasks".

Souhait :

Je voudrais, sur une feuille différente, récupérer toutes les tâches (et infos correspondantes, dans les autres colonnes) qui incombent à Eléonore (moi).

y a-t-il une formule pour ça ?

Ci-joint, un fichier exemple (la feuille 3 étant celle où je voudrais compiler les informations des précédentes feuilles).

Merci de votre aide !

Eléonore

10excel-exemple.xlsx (10.05 Ko)

Bonjour,

Un essai par macro avec bouton sur ta feuille 3.

Cordialement,

26excel-exemple.xlsm (20.78 Ko)

Merci de cette information, cependant je ne sais pas créer de macro... Pourriez-vous m'expliquer ?

Eléonore

Alors voici la marche à suivre :

Tout d'abord, vérifies que tu possède bien un onglet "Developpeur" en haut dans Excel (après les onglets Révision et Affichage en général), si ce n'est pas le cas, voici la démarche à suivre pour l'afficher sous Excel 2007 :

https://www.excel-pratique.com/fr/vba/introduction

Une fois que tu as l'onglet Développeur, tu vas dedans, tu dois avoir une icône "Insérer" tu click dessus, et tu choisis Bouton (dans les contrôles de formulaires).

Ton curseur de souris devrais changer et te permettre de dessiner le bouton sur ta feuille. Fais le de la taille que tu veux, et lorsque tu vas relacher ta souris, une fenêtre "Affecter une macro" va s'ouvrir.

Dans Nom de la macro : tu mets ce que tu veux

Macro dans : tu choisis "Ce classeur"

Et ensuite tu click sur le bouton "Nouvelle".

Cela va t'ouvrir l'environnement VBA ou se situe les macros (que tu peux afficher directement par ALT + F11 quand tu es sous Excel sinon) avec une fenêtre ou sera écris

Sub NomMacroChoisi()

End Sub

Entre ces deux lignes, tu colles le code de macro suivant :

Dim i As Integer, j As Integer, Derligne As Integer 'on déclare les variables de la macro

Application.ScreenUpdating = False 'on désactive la mise à jour de l'écran pour éviter tous les changements d'écrans à cause
                                   'des copier/coller

For i = 1 To 2 'De la feuille 1 à 2
    For j = 2 To 16 'De la ligne 2 à 16
        If Worksheets(i).Range("C" & j) = "Eléonore" Then 'Si la valeur de la colonne C de la ligne en cours = Eléonore
            Derligne = Worksheets("Feuil3").Range("A65365").End(xlUp).Row + 1 'On trouve la première ligne vide dans la feuille 3
            Worksheets(i).Range("B" & j & ":G" & j).Copy 'On copie la ligne en cours du tableau
            Worksheets("Feuil3").Range("A" & Derligne).Activate 'On se place sur la ligne vide de la feuille 3 que l'on a trouvé au-dessus
            ActiveSheet.Paste 'On colle la ligne du tableau de tasks
            Application.CutCopyMode = False 'On désactive le mode copier/coller
        End If
    Next j 'on passe à la ligne suivante
Next i 'on passe à la feuille suivante

Worksheets("Feuil3").Activate 'lorsque c'est fini on se replace sur la feuille3

Application.ScreenUpdating = True 'on réactive la mise à jour de l'écran

Ensuite tu peux fermer le tout et revenir sur ta feuille Excel, tu fais un click droit sur ton bouton => modifier le texte et tu écris ce que tu veux qu'il soit inscris dessus.

Et voilà.

Enfin la c'est l'explication minimum en partant du principe que la mise en page de ton fichier réel est exactement la même que ton fichier exemple, sinon il y a bien entendu des adaptations à faire, si c'est le cas, n'hésites pas à la dire.

Sinon je ne peux que te conseiller si tu as le temps, de jeter un oeil aux cours VBA situer sur le site, qui te feront une bonne introduction sur le sujet des macros.

Si tout cela te parait un peu compliqué, c'est normal si tu n'as jamais touché à celles-ci, mais pour du basique cela viens assez vite, sinon si vraiment cela te donne des boutons, peut-être que quelqu'un aura une solution par formule à te proposer .

Cordialement,

Bonjour,

Je reviens à la charge ahah ! Bon, après une bonne nuit de sommeil, je me suis attaquée à cette fameuse macro. Et, bien que je ne comprenne pas tout, je vois en gros où on veut en venir ! Merci d'ailleurs pour tes explications en face de chaque ligne, ça m'aide énormément à comprendre ce que je fais.

Evidemment, si ça avait marché du premier coup, ç'aurait été trop beau...

En PJ, le message d'erreur.

Merci beaucoup !

Eléonore

15doc2.docx (92.01 Ko)

Bonjour,

Alors c'est tout simple :

C'est vrai que j'ai dit que tu pouvais choisir le nom que tu voulais pour la macro SAUF qu'en fait il y a quelques exceptions ^^

Voici ce qui ne marche pas ou qui est déconseillé :

Pas d'espaces dans les noms de macros 
Pas deux macros ne peuvent porter le même nom 
Un module ou une macro ne peut pas porter le même nom qu'une instruction VBA telle que ActiveCell, Range, Sub... 
Il est aussi très nettement déconseillé de donner des noms de macros ou de modules tels que Sheet, Sheet1, Workbook, Excel, VBA, Classeur, ou tout nom qui pourraitprêter à confusion. 
Je vous déconseille également les accents et tout caractère spécial tel que *, ç, %, ?, etc. 
Même le trait de soulignement est interdit au début d'une macro ou d'un module. 
Une macro ou un module ne peut pas commencer par un chiffre, mais peut se terminer par un chiffre 

Dans ton cas, renomme ta macro en EDTASKS par exemple et cela devrait enlever ce message d'erreur.

Cordialement,

Ça y est ! Tout fonctionne !

Merci encore !

Eléonore

De rien,

Bonne fin de journée et bon week-end.

Rechercher des sujets similaires à "transfert donnees colonnes"