Programmation excel

Résolu
Bonjour,

Voilà, j'ai un petit soucis. J'aimerais copier n lignes d'une feuille excel sur une deuxième feuille excel en insérant d boutons à chaque fin de ligne, pour n'avoir qu'à cliquer sur le bouton pour copier/coller la ligne.
Est-ce facilement réalisable?
Je connais que très peu la programmation.
Configuration: Windows XP
Internet Explorer 7.0

55 réponses

Résumé de la discussion

Le problème porte sur copier n lignes d'une feuille Excel vers une autre en insérant des boutons à la fin de chaque ligne pour déclencher le copier-coller d'un clic. La solution passe par un bouton de formulaire et l'affectation d'une macro ; la ligne clé est Range("B" & Selection.Row).Copy, à adapter selon les colonnes et l'emplacement cible. Des conseils suggèrent d'éviter des feuilles séparées et d'ajouter une colonne mois pour cibler les lignes à copier, avec une macro unique pour tous les boutons. En pratique, une gestion des erreurs de macro et des adaptations éventuelles du nom des feuilles ou des colonnes peuvent être nécessaires lors de la mise en œuvre.

Bobot (l’IA à votre service)
  1. Contributeur
    Bonjour,

    c'est possible sans aucun probleme, mais un seul bouton est suffisant, si tu mets un bouton à chaque ligne, tu vas surcharger ton classeur ......

    envoie un bout de ton fichier par cjoint.com sans données confidentielles
    1. Bonjour,

      essaye ceci :
      a mettre dans la feuil 1 dans le visual basic

      Private Sub CommandButton1_Click()
      On Error GoTo fin
      i
      Range(Cells(2,1), Cells(2, 10)).Copy _
      Destination:=Worksheets(CStr(Cells(1, 1))).Cells(2, 1)

      fin:

      'Ce qui veut dire en clair :
      'Si tu rencontres une erreur và à la balise fin:
      'copie de la cellule ligne 2, colonne 1 (A2) à la cellule ligne 2, colonne 10 (A10)
      'vers l 'onglet dont le nom se trouve en ligne 1 colonne 1 (A1="feuil2") et dans cet onglet à partir de la cellule ligne 2, colonne 1 (A2).

      'Dans le classeur que tu nous a envoyé il n'y a pas d'onglet se nommant "semaine 1". Le code ne peut donc pas fonctionner sans créer cet onglet avant.
      End Sub

      si tu as un problème envoi ton fichier
      1. C'est vrai , c'est pas trop compliqué à faire?
        Ah ben j'espère pouvoir y arriver.
        Je t'envoie un exemple de ce à quoi ca ressemble.
        Je n'ai malheureusement pas le fichier type avec toute la structure mais au moins ca te donne une idée.
        Ca ne doit pas copier toutes les lignes d'un coup, c'est pour cela qu' j'avais pensé àun bouton par ligne.
        Uniquement celles qu'on souhaite.
        Par contre comment te joindre le fichier je ne vois rien???
        1. Contributeur
          re:

          tu vas sur le site cjoint.com
          tu cherche ton fichier avec le bouton : choisir un fichier, ensuite tu clique sur le bouton creer un lien
          il te donne à ce moment une adresse avec une code tordu
          tu fais un copier coller de cette adresse sur la reponse que tu donne

          comme je fais en te donnant ce lien à suivre https://www.cjoint.com/index.php
          1. En réalité le fichier est tres tres gros.
            il y a toius les mois de l'années avec énormément de lignes.
            1. dans la première feuille tu as :

              libellé, montant et date ces champs correspond à quels champs de la feuille 2
          2. Contributeur
            re:

            ton fichier en retour : https://www.cjoint.com/?jnkbTtgiE6

            j'ai figé les volets, en dessous de la ligne de titres et j'ai mis le bouton au dessus pour pas qu'il disparaisse quand on descend avec l'ascenseur
            j'ai utilisé la colonne A pour pointer l'enregistrement deja copier
            les enregistrement se copient un en dessous de l'autre dans la feuille 2
            1. re, dslé j'ai dû me sauver tout àl'heure.
              Merci j'ai ton fichier en retour.
              Il me met un msg d'erreur par rapport aux maccros.
              Je vais tester et te tenir au courant.
              merci bcp
              1. Je ss dslé de vous embeter encore mais ca ne marche pas.
                Msg d'erreur sur les macros j'ai regardé dans options-maccro le niveau est à elevé.
                Comme c'est indiqué dans l'aide.
                1. Contributeur
                  re:

                  si ton niveau de protection est elevé les macro ne se chargeront pas, personnellement j'ai le niveau à faible, ca fait 2 ans que je parcours les forums, et je n'ai jamais eu de virus, je ne telecharge rien d'autre que ce que je connais....

                  il te faut baisser ta protection,

                  en la mettant au niveau moyen, à chaque ouverture il va te demander si tu veux activer le macro

                  en la mettant au niveau faible, il ne te demande rien et active automatiquement les macros
                  1. super jte remerci, ca marche pourrais-je voir le code que tu as tapé.
                    J'aimerais l'adapté au fichier si j'y arrive.
                    parcke comme jte l'ai dis je ne l'ai pas ici pr le moment
                    1. Contributeur
                      re:

                      c'est un bouton de type formulaire, click droit dessus, un menu s'affiche, affecter une macro
                      dans la liste, macro1, ne rien faire, un bouton : Modifier la macro

                      tu te trouve dans le code

                      une ligne : Range("B" & selection.row............).copy, c'est cette ligne qu'il faut adapter, en fonction des colonnes

                      si probleme, renvoie le fichier exemple, avec la struture de ton fichier
                      (titre des colonnes, nom des feuilles......) je n'ai plus besoin des enregistrements, j'adapterai la macro et je la commenterai
                      1. D'accord merci beaucoup pr ton aide. Vraiment sympa.
                        Je te tiens au courant.
                        1. Je te renvoie la structure , je l'ai reconstitué et demandé à une amie qu'elle m'envoie la deuxième feuille.
                          il y a tout.
                          Je voulais te demander comme je dois faire une feuille par mois, je n'ai qu'à reprendre les meme formules pour les autres feuilles?
                          Puisque je ne pourrais pas tout garder sur une seule et même feuille.
                          Trop d'enregistrements. et c'est mieux de voir une situation mensuelle.
                          Qu'en penses-tu.
                          1. Contributeur
                            re:

                            j'ai l'ai un peux bete lol, mais je ne trouve pas ..............

                            question : feuil1, feuil2, feuil3 ce sont les noms de feuille reel ?
                            quelle feuille vas sur quelle feuille ?????
                            les titres de colonne, aucun titre identiques, quelle colonne va ou ?

                            desolé de te poser ces questions, mais je pensais que le classeur d'origine etait plus explicite lol
                            1. Oups Désolé c'est vrai j'ai pas fait attention.
                              C'est les données de la feulle 2 qui vont sur la 3
                              Enfait il faudrait reprendre uniquement le texte.
                              Donc Libellé+Montant le reste devra etre saisi a la main.
                              https://www.cjoint.com/?jnmOcUdN2F

                              Voilà.
                              merci
                              1. Merci beaucoup Wilfried t'es vraiment très doué.
                                C'est vraiment gentil de ta part.
                                Si je dois faire une feuille par mois est-ce possible??
                                Ou je dois saisir systématiquement tout sur la même feuille?
                                Je voudrais séparer les mois enfait.
                                Et garder le même système.
                                1. Contributeur
                                  re:

                                  tu peux, pour cela creer un bouton par mois et tu le relies à la meme macro, etant donné que c'est de la feuille active que les données partent

                                  par contre mais la c'est personnel, quand je fais des saisies, j'evite de les mettre dans des feuilles differentes, il y a plein d'autres moyens pour selectionner un mois dans une feuille de base de données

                                  exemple, une colonne supplementaire pour mettre le mois, ou encore une formule : =Mois(D7)
                                  et un filtre automatique sur le mois
                                  • 1
                                  • 2
                                  • 3