Copier coller lignes sur des feuilles différentes à la suite des données existantes

Поділитися
Вставка
  • Опубліковано 27 сер 2024

КОМЕНТАРІ • 40

  • @aleebboy
    @aleebboy 2 роки тому +1

    Un énorme MERCI! Ce tuto est concis, très bien expliqué. il m'a été d'une grande utilité!!

  • @djedail84letempsdelagarigu91
    @djedail84letempsdelagarigu91 3 роки тому +1

    Super, merci Kévin 👍

  • @anthonydoriand
    @anthonydoriand 2 роки тому +1

    Merci !

  • @user-ts1nb5cc7c
    @user-ts1nb5cc7c Рік тому +1

    Merci

  • @mathieu9104
    @mathieu9104 Рік тому +1

    Bonjour Kévin, et merci pour ton contenu. Par contre avec cette macro j'aimerai coller simplement les valeurs des cellules des range, car j'ai des fonctions dans les cellules de la première feuille. J'ai essayé de modifier quelques lignes, mais je suis bien trop néophyte pour arriver à quelque chose de probant ^^

    •  Рік тому

      Bonjour, en reprenant le code vers les 8 minutes 34 de la vidéo, il faut revenir à la ligne après le .Copy et à la suite de la destination mettre .PasteSpecial xlPasteValues. Cela devrait permettre de copier coller les valeurs si ça ne marchait pas jusqu'à présent. :)

  • @margaritaarrieta998
    @margaritaarrieta998 2 роки тому +2

    Bonsoir, Jai trouve une option, il faudra juste la créer: effacer le contenu des feuilles sélectionnées automatiquement avant lancer le macro copier/coller, de cette forme plus de soucis ;)

  • @hansdavid2916
    @hansdavid2916 2 роки тому

    Bonsoir j’ai vraiment besoin d’un coup de pouce
    J’ai un tableau avec beaucoup de colonnes
    J’aimerais faire ceci
    Vérifier certaines ligne en fonction des certaines colonnes
    Si la valeur de cette colonne est différente de 0 me copier la ligne et la coller sur une autre feuille
    L’idée c’est avoir dans ma nouvelle feuille sur la colonne les valeurs différentes de 0 uniquement

  • @faridtous7034
    @faridtous7034 Рік тому

    merci

  • @salemmohamed5594
    @salemmohamed5594 Рік тому

    créer un code en VBA qui permet de compare la cellule A1de feuil 1 avec cellule A1 de feuil 2 jusqu'a la fin de tableau puis copier et coller la valeur de B1 de feuil 1 dans B1 de feuil 2 si non valeur vide

  • @piero94500
    @piero94500 Рік тому

    Bonjour Kevin,
    Merci pour ce tuto excellent (surtout pour la flexibilité en effet)
    J'aimerais, comme tu l'évoques en début de vidéo, faire la même chose, mais en collant les données copiées sur un autre classeur (sur la 1ère feuille)
    Quelle serait la bonne démarche ?
    Merci :)

    •  Рік тому

      Bonjour, pour ce faire, il faut définir la variable de l'onglet en fonction du nouveau classeur (qu'il faudra ouvrir avant bien entendu - par code). En gros, si on utilisait ws_onglet2 pour coller les infos, alors on a en début de code Set ws_onglet2 = Worksheets(2). Pour changer ça pour un autre classeur, on va créer la variable du nouveau classeur et l'associer à la variable de l'onglet.
      Set wk_fichier2 = Application.Workbook.Open("chemin du classeur ici")
      Set ws_onglet2 = wk_fichier2.Worksheets(1)
      En espérant que ça aide un peu :)

    • @piero94500
      @piero94500 Рік тому

      @ Bonjour
      Merci beaucoup pour la réactivité étonnante !
      J'ai ce code de base (le tien) mais j'ai beau essayer je ne sais pas où caser tes propositions de modifications. L'idée est de coller dans le 1er onglet d'un classeur dont le chemin serait disons : "C:\Users\Documents\Effectifs.xlsm".
      Sub copier_coller()
      Dim ws_1 As Worksheet
      Dim ws_2 As Worksheet
      Dim ws_3 As Worksheet
      Dim der_ligne As Long
      Dim destination As Long
      Dim ligne_coller As Long
      'Définir mes feuilles
      Set ws_1 = Worksheets(1) '(position la plus à gauche)
      Set ws_2 = Worksheets(2)
      Set ws_3 = Worksheets(3)
      'Identifier la dernière ligne tableau 1
      der_ligne = ws_1.Cells(Rows.Count, 1).End(xlUp).Row
      'Boucle sur les données
      For i = 2 To der_ligne
      'identifier la destination
      destination = ws_1.Cells(i, 3)

      If destination = 2 Then

      ligne_coller = ws_2.Cells(Rows.Count, 1).End(xlUp).Row + 1

      'Copier la valeur et la coller dans une autre feuille
      ws_1.Range(ws_1.Cells(i, 1), ws_1.Cells(i, 2)).Copy ws_2.Cells(ligne_coller, 1)

      ElseIf destination = 3 Then

      ligne_coller = ws_3.Cells(Rows.Count, 1).End(xlUp).Row + 1
      ws_1.Range(ws_1.Cells(i, 1), ws_1.Cells(i, 2)).Copy ws_3.Cells(ligne_coller, 1)

      End If
      Next
      End Sub

    •  Рік тому

      @@piero94500 Bonjour, il faut rajouter le code au niveau de la définition des feuilles. ;)

  • @filippopuiarello
    @filippopuiarello Рік тому

    Bonjour Kévin, j'aurais besoin d'insérer une ligne d'une feuille à une autre (pas copier, mais intégrer la ligne avec toutes ses valeurs. les valeurs seront mise à jour automatiquement.) merci pour ton aide.

  • @margaritaarrieta998
    @margaritaarrieta998 2 роки тому

    Bonsoir Kevin, si je peux me permettre, votre code est ce que j'avait besoin pour un travail. J'ai juste un soucis, à chaque fois que je lance le module j'ai de doublons :( , comment je peux effacer les lignes qui sont exactement egales en laissant une bien sur?
    Merci pour votre video

  • @jem777wh
    @jem777wh 2 роки тому

    Bonjour Kévin, j'aurai besoin de vos conseils. En fait, lorsqu'un employé est de retour de son isolement COVID je souhaite copier/couper la ligne se rapportant au dossier de suivi de l'employé, mais je veux coller sur un onglet de suivi pour statistique s futures. Quel est la meilleure option? J'avais pensé à un ajout d'un bouton cliquable, ou bien un onglet à cocher dans la ligne... Merci!

    •  2 роки тому

      Bonjour, quand j'utilise des données de personnel, je préfère généralement avoir un menu déroulant par lequel je peux choisir l'employé, puis un bouton de commande pour déclencher les actions que je veux. Cela permet de garder la même structure dans le futur et d'y ajouter d'autres fonctions par la suite sans avoir à toujours refaire la recherche de la ligne du salarié.

    • @jem777wh
      @jem777wh 2 роки тому

      @ . Re bonjour! Possiblement que j'ai mal exprimé mon besoin. En fait, lorsque l'employé est de retour après son absence COVID, je souhaite que li ligne dans l'onglet d'absence soit supprimé, mais qu'elle soit collé dans un onglet d'archive afin que je puisse utiliser la donnée pour des statistiques futures. Ayant présenté de 500 employés, le menu deroulant me plaît un peu moins. À moins que vous songiez à un contrôle V qui permet de sélectionner rapidement par automatisation- bouton- de couper la ligne d'un onglet et de la coller dans une ligne de l'onglet archive. Le but de l'enlever de l'onglet de suivi des absence permet de mettre à jour la comptabilisation des absenced COVID, et ce, de façon hebdomadaire. Merci et désolée encore de ne pas être claire lorsque j'exprime mon besoin.

    •  2 роки тому

      Bonjour,
      Je viens de faire une vidéo rapide sur le sujet. Le fichier est aussi téléchargeable gratuitement sur mon site internet. Voici le lien de la vidéo : ua-cam.com/video/Edmj6dKZ9j4/v-deo.html

    • @jem777wh
      @jem777wh 2 роки тому

      @ Bon matin Kévin ! Wow merci beaucoup pour ce vidéo. En effet, il est clair et me permettra de traduire pas à pas ta proposition. Il me restera a essayer d'ajouter une commande effacer de l'onglet de départ après avoir collerles informations dans l'onglet archive afin que mes formule liées à l'onglet d'absence se mettre à jour. Je tente quelque chose et je te reviens si j'ai un bloquant. Entre temps, si tu as déjà un bout de vba à me proposer pour cette manipulation...
      bien n'hesite pas. Merci beaucoup d'être là, tu es genial!!!

  • @1mcakici
    @1mcakici 2 роки тому

    Salut Kévin je trouve tes vidéos super intéressantes mais j'ai toujours pas trouvé solution à mon problème.
    Je dois copier coller plusieurs fichiers (Contenant 1 feuille chacun), dans un fichier global mais entre plusieurs feuilles de ce fichier global, en faisant attention à garder les formules du fichier global. As-tu quelques conseils à me donné stp ? :(
    Merci beaucoup et continues tes vidéos §§

    •  2 роки тому

      Bonjour, dans ce cas là, le plus simple pourrait être de copier coller la feuille entière plutôt. A voir : ua-cam.com/video/uiE0syCZeCQ/v-deo.html

  • @pierredezobry1855
    @pierredezobry1855 2 роки тому

    Bonjour,
    Merci beaucoup pour cette vidéo ! J'ai un niveau médiocre sur VBA, je me contente simplement de recopier votre module ! Mais j'ai dû faire une erreur car j'arrive à copier sur la feuille 2 mais pas sur la feuille 3 ... J'ai beau éplucher la formule, je ne trouve pas le problème. Pourriez vous m'aider ? Merci par avance.
    Sub copier_coller()
    Dim ws_1 As Worksheet
    Dim ws_2 As Worksheet
    Dim ws_3 As Worksheet
    Dim der_ligne As Long
    'définir mes feuilles
    Set ws_1 = Worksheets(1)
    Set ws_2 = Worksheets(2)
    Set ws_3 = Worksheets(3)

    'identifier la dernière ligne tableau 1
    der_ligne = ws_1.Cells(Rows.Count, 1).End(xlUp).Row
    'boucle sur les données
    For i = 2 To der_ligne
    If i = 2 Then
    'copier la valeur et la coller dans une autre feuille
    ws_1.Range(ws_1.Cells(i, 1), ws_1.Cells(i, 1)).Copy ws_2.Cells(1, 1)
    Else
    ws_1.Range(ws_1.Cells(i, 1), ws_1.Cells(i, 1)).Copy ws_3.Cells(1, 1)
    End If
    Next
    End Sub

    •  2 роки тому

      Bonjour, a priori je ne vois pas d'erreur. Y a-t-il un conflit avec plusieurs fichiers Excel ouvert en même temps ? Mon instinct me dit que lors du test, il n'y avait peut être pas plus de 2 lignes dans la feuille 1. Donc à voir si ce n'est pas là le souci.

  • @alainbushcraft9636
    @alainbushcraft9636 Рік тому

    Bonsoir Kévin, pourrais tu m' expliqué comment faire pour copier coller une ligne d'une feuille A sur une feuille B via des données sélectionner sur une listbox? pas cellule par cellule mais bien une ligne. d'avance un Grand Merci car franchement la je n'y arrive pas.

    •  Рік тому

      Bonjour, cela dépend un peu du lien entre la listbox et la ligne à copier coller. Le plus dur c'est de mettre en place une technique pour identifier la bonne ligne en fonction du choix sur la listbox, mais si ça c'est fait, alors copier coller une ligne entière c'est : ws.Cells(i,1).EntireRow.Copy ws2.cells(der_ligne,1)
      Avec ws et ws2 les feuilles, i la ligne à copier et der_ligne la ligne sur laquelle coller l'information.

  • @user-zd5ti9nv3u
    @user-zd5ti9nv3u Рік тому

    Salut kévin, vidéo sympa et très pédagogique, mais malgré tout ça, ma formule ne marche pas, elle bug sur "der_ligne = ws_1.Cells(Row.Count, 1).End(x1Up).Row" je comprends pas pourquoi.

    •  Рік тому

      Bonjour, la formule a une faute de syntaxe, il faudrait : End(xlUp) avec un L et non un 1. ;)

  • @lunawalczak1849
    @lunawalczak1849 3 роки тому

    Bonjour Kevin, j'ai un fichier excel avec 40 onglets et je voudrais ajouter une colonne dans chaque onglet au milieu de mon tableau. Peux-tu m'aider stp?

    •  3 роки тому

      Bonjour, pour cela il faut faire une boucle sur les onglets (ua-cam.com/video/cVYtKN8eZu4/v-deo.html) et utiliser une fonction comme Columns(5).Insert pour insérer une colonne au niveau de la cinquième.

  • @elkebirmounir9907
    @elkebirmounir9907 2 роки тому

    Bonjour
    svp, vous avez un code pour copie les données d'un seul colonne d'une feuille 4 à feuille 5 ?
    Merci bcp

    •  2 роки тому

      Bonjour, pour copier coller une colonne entière, par exemple la colonne B de ma feuille 1 et la coller sur la cellule A1 de la feuille 2, on peut utiliser la ligne suivante : ws_feuil1.Cells(1, 2).EntireColumn.Copy ws_feuil2.Cells(1, 1)

  • @charlesmicheli6808
    @charlesmicheli6808 2 роки тому

    bonjour Kevin merci pour votre tuto très clair mais j'ai un petit souci j'ai un tableau de recherche et quand je colle le résultat de ma recherche sur plusieurs ligne cela m'affiche la formule dans mon tableau ou je colle mes données au lieu de la valeur je ne trouve pas la solution de mon problème je pense qu'il faut écrire pasteSpécial dans le code mais je ne sais pas comment le formuler merci d'avance si vous pouviez me donner la solution a mon problème
    j'espère avoir été assez clair étant novice en vba
    merci encore

    •  2 роки тому

      Bonjour, pour copier coller le résultat d'un formule, il y a 2 solutions généralement, soit le PasteSpecial soit faire une correspondance directe entre cellule. Pour le PasteSpecial il faut faire 2 lignes, la première pour le .Copy et la deuxième (à la ligne) qui identifie la cellule où l'on veut coller l'information suivi du .PasteSpecial comme suit : ws_onglet.Cells(1,1).PasteSpecial xlPasteValues
      En espérant que ça aide !

    • @charlesmicheli6808
      @charlesmicheli6808 2 роки тому

      @ merci beaucoup cela a résolu une partie de mon problème, mais j'ai encore un souci j'ai une plage de données avec 18 lignes et 9 colonnes les cellules de cette plage ont toutes des formules je rempli cette plage avec une liste déroulante qui selon ma recherche rempli ma plage il peut y avoir 3 lignes remplies parfois mais aussi parfois les 18 lignes et lorsque je fais un copier coller(avec un currentregion .offset pour sélectionner ma plage) sur un tableau dans une autre feuille du même classeur pour que les données se remplissent a la suite avec un code en vba si j'ai que 3 lignes de valeurs cela me colle les 3 lignes de valeurs plus les lignes vides mais avec les formules cela fait que quand je refait un copier coller la recherche de la dernière ligne me détecte les formules et donc cela me crée un espace les données ne s'affichent pas la suite si vous pouviez m'aider a résoudre ce problème ce serai gentil merci d'avance

    •  2 роки тому

      Bonjour, pardon pour le retard, je remarque que je ne reçois pas les notifications quand il y a une réponse à des commentaires existants. Si problème il y a sur la zone à copier, une des manières de résoudre le problème est de passer sur une boucle par ligne pour pouvoir vérifier que la valeur (donc le résultat de la formule) n'est pas vide, et ensuite faire le copier coller. ça ne devrait pas impacter le temps nécessaire pour l'exécution de la macro car il semble que votre fichier soit petit.

  • @lilo7992
    @lilo7992 3 роки тому

    si j'ai une colone de 1à20 et je veux copier coller les donees n et n+1 dans deux feuilles differentes comment faire les (n etant 1,3,5etc et n+1 2,4,6etc)

    •  3 роки тому +1

      Bonjour, quand c'est regulier comme ça, alors il faut utilser une boucle avec un pas. Par exemple, For i = 1 to 21 Step 2, qui fera donc une boucle sur 1, 3, 5, 7.... Ou For i = 2 to 20 Step 2, pour 2, 4, 6....

    • @lilo7992
      @lilo7992 3 роки тому

      @ merci