Copie conditionnelle d'une plage de cellule

Bonjour,

J'espère être dans le bon forum.

J'essaie sous Excel 7 de recopier une plage de cellules d'une feuille vers une autre
de manière conditionnelle.
Fichier joint

Merci

27 réponses

Résumé de la discussion

Problème rencontré sous Excel 7 : recopier une plage de cellules d'une feuille vers une autre de manière conditionnelle, avec des références à des macros et des événements de changement. La solution proposée consiste en une macro VBA qui déclenche la copie lorsque B7 contient SRD ou srd, en utilisant Worksheet_Change, puis copie B5:S9 vers la feuille 2. D'autres échanges suggèrent de ajuster les paramètres, et l'équipe indique qu'une variante a été trouvée en remplaçant un mot clé par une unité numérique, apportant une solution opérationnelle.

Bobot (l’IA à votre service)
  1. BONJOUR HEREMION

    Je crois que je suis la bonne voie, mais pas avec les macro que je n'arrive pas à manipuler
    A force de bidouiller j'ai trouvé une solution assez compliquée mais qui devrait marcher. J'ai expérimenté sur quelques lignes et ça l'air de marcher.

    Quoiqu'il en soit, je te remercie pour tous les post que tu m'as adressés.

    A bientôt peut-être.

    Cordialement DOINIS
    0
    1. Merci, tu es réactif !

      J'essaie de t'envoyer mon vrai fichier, celui sur lequel je bosse depuis quelques temps.

      Va dans la feuille "LES CHIFFRES RECAP" et ne considère que la ligne 11
      Regarde une ou deux cellules pour que tu comprennes mes formules.

      Je veux que, lorsque j'entre une donnée dans les cellules colorées en vert fluo, dans la feuille "TABLEAU GENERAL" celles-ci s'inscrivent automatiquement dans la ligne 11 (puis plus tard les suivantes) et les colonnes A à E puis J à L de "CHIFFRES RECAP, mais la mise en page n'est pas la même.

      Je n'arrive pas à t'envoyer le lien par le site habituel. As-tu une adresse alternative (j'essaierai alors par Giga Mail.

      Ca y est: c'est bon : http://www.cijoint.fr/cjlink.php?file=cj201109/cijfRMdW9e.xlsx
      0
      1. Tableau GENERAL
        : j'ai une valeur en B5,B7,C5,D5,D9, U6
        Je veux reporter automatiquement et respectivement ces valeurs successives
        sur le tableau CHIFFRES RECAP , en C11, A11, B11, D11, K11, E11

        Sur le tableau B, c'est donc linéaire, contrairement au tableau A
        0
    2. Bonjour Doinis,

      En fait j'ai pas très bien saisi ce que tu voulais faire dans ton fichier. Est-ce que la copie doit se faire jusqu'en bas de la feuille? Est-ce que simplement, les deux tableaux doivent juste se recopier en feuille B?

      Peux-tu me fournir plus d'explications? (surtout si tu tiens à ce que ça contienne le moins de VBA possible :) ).
      0
      1. BONJOUR HEREMION

        Penses-tu que l'on peut faire ce que je souhaite grâce à des formules Excel ?

        Bonne journée
        0
      2. Je ne pense pas, les simples formules Excel ne permettent pas de créer des espacement entre cellules d'une feuille. Enfin, pas à ma connaissance.
        0
    3. BONJOUR HEREMION

      J'ai un petit problème de recopie indexée (jamais fait)
      je t'envoie le fichier
      Merci si tu peux faire quelque chose. Bonne journée DOINIS

      http://www.cijoint.fr/cjlink.php?file=cj201109/cijDvfXQAe.xlsx
      0
      1. Salut HEREMION

        Comme je te le disais j'ai trouvé l'astuce, donc ne te casse pas la tête avec mon envoi d'hier.

        Je suis en train de finaliser la chose ... pas sûr que je finirai aujourd'hui.

        J'aurai sûrement encore besoin d'un petit coup de main : J'ai travaillé sur un autre fichier que celui où tu m'avais installé la macro !!!
        C'est donc pour les macro que je ferai appel à toi, si tu le veux bien.

        A bientôt DOINIS
        0
        1. Bonsoir HEREMION

          Je t'envoie l'adresse du fichier où je t'explique tout ... ou presque !
          Si je n'y arrive pas ce soir, ce qui semble être le cas, j'essaierai de nouveau demain.

          http://www.cijoint.fr/cjlink.php?file=cj201109/cijxyFThuu.xlsx

          Bonne semaine !
          0
          1. BONJOUR HEREMION

            Je crois avoir trouvé la solution à mon post d'hier.
            J'ai remplacé le mot "VAD" par une unité numérique (1) et ça semble bien marcher

            Je développe tout cela cet après-midi et te recontacte.

            Bonne journée. DOINIS
            0
          2. Oah dur de bon matin ^^.
            J'ai ouvert ton fichier, ça m'a piqué les yeux, j'ai pité un beignet lol :) (pas ta faute mais j'étais pas réveillé).
            Du coup, j'ai mal saisi ce que tu voulais réellement faire dans le fichier... y a beaucoup d'explications mais il aurait fallu qu'on fasse dans l'ordre pour pas s'y perdre :)
            0
        2. Dans le code que je t'avais montré au début de ce post, c'est la ligne en gras qu'il faut adapter.

          Private Sub Worksheet_Change(ByVal Target As Range)
          
              If (Target.Row = 7) And (Target.Column = 2) Then 'B7
                  If ((Cells(7, 2).Value = "SRD") Or (Cells(7, 2).Value = "srd")) Then
                      Worksheets(1).Range("B5:S9").Select
                      Selection.Copy
                      Worksheets(2).Activate
                      Worksheets(2).Range("B5").Select
                      'Worksheets(2).Select
                      Worksheets(2).Paste
                  End If
              End If
          End Sub
          0
          1. Bonjour HEREMION ... et bon dimanche (un peu pluvieux dans le Sud !)

            L'instruction " Worksheets(1).Range("B5:S9").Select " se trouve où ?
            N'oublie pas que je ne connais absolument rien aux macro !!!

            Pour l'état primitif, la réponse est oui.

            Mais je vais faire le véritable fichier, dans son entité et tu comprendras mieux ce que je souhaite.

            Je m'y mets cet après-midi ... la journée est chargée en sport ( ! ) Rugby, Tennis, Basket ... Faut gérer ! Quelle vie !

            A très bientôt

            Merci encore DOINIS
            0
            1. Pour ce qui est de copier une plus grande plage, il te suffit de mettre dans l'instruction ci-dessous, la plage que tu souhaites copier :

              Worksheets(1).Range("B5:S9").Select


              Quand tu parles de revenir à l'état primitif, tu veux dire revenir avant la copie?
              Je vais regarder cela de plus près et te dis ça tantôt.
              0
              1. Bonjour HEREMION

                Pas de pb pour la feuil 1 je la supprimerai

                Y a-t-il possibilité de recopier ta macro sur une page qui fera environ 500 lignes ?

                Lorsqu'il y a inscrit SRD dans la feuille DIV H "SRD", ça fonctionne impeccable sur l'autre feuille

                Mais si par exemple je supprime cette inscription, y a-t-il possibilité que dans la feuille "SRD" ça revienne à un état primitif ?

                Merci pour ton accord pour m'aider

                Je te laisse passer le week-end tranquille.

                A très bientôt

                Bon week-end DOINIS
                0
                1. J'ai pas fait attention, la feuil1 est une erreur de manipulation quand j'ai fait un ou deux tests. Pas besoin d'en tenir compte.

                  Pour ce qui est du code, j'ai mis en macro sur la Feuil1 ce code :

                  Private Sub Worksheet_Change(ByVal Target As Range)
                  
                      If (Target.Row = 7) And (Target.Column = 2) Then 'B7
                          If ((Cells(7, 2).Value = "SRD") Or (Cells(7, 2).Value = "srd")) Then
                              Worksheets(1).Range("B5:S9").Select
                              Selection.Copy
                              Worksheets(2).Activate
                              Worksheets(2).Range("B5").Select
                              'Worksheets(2).Select
                              Worksheets(2).Paste
                          End If
                      End If
                  End Sub


                  Pour ce qui est de t'aider, pas de souci :)
                  0
                  1. Bonjour Heremion

                    Merci pour ta réponse. J'ai enfin pu ouvrir le fichier. Sur la 2° feuille (nommée SRD) je vois que tu as pu faire ce que je te demandais.
                    Je t'en remercie vivement.
                    NB : à quoi sert la 3° feuille nommée Feuil 1 ?

                    J'aimerais savoir en détail comment tu as fait pour que je puisse essayer de répéter cette opération.

                    En fait je t'ai envoyé une petite partie du fichier. Comme la chose est relativement complexe (pour moi), j'essaie de te fournir au plus tôt plus d'informations. Es-tu d'accord pour m'aider ?

                    Bonne journée DOINIS
                    0
                    1. Bonsoir

                      De nouveau impossible d'accéder au fichier réponse

                      Peut-être demain quand il y aura moins de monde branché sur le site
                      Par avance merci, mais dès que je peux accéder au fichier je te réponds

                      Bonne nuit et encore merci

                      DOINIS
                      0
                      1. Oui, et je viens de le reposter avec la macro comprise. Dis-moi si cela fait bien ce que tu souhaites.

                        En fait, lorsque tu changes la valeur B5, il va copier uniquement si elle vaut "SRD" ou "srd"

                        http://www.cijoint.fr/cjlink.php?file=cj201109/cijQdi99QX.xlsm
                        0
                        1. Je viens de réussir à ouvrir mon fichier envoyé avec cette adresse :

                          http://www.cijoint.fr/cjlink.php?file=cj201109/cijQm53lhm.zip

                          Dis-moi si tu y arrives.

                          Merci
                          0
                          1. Je viens d'arriver à le DL, tu veux recopier quelles cellules en fonction de laquelle et vers où?
                            0
                            1. C'est sympa,

                              Je t'avoue que je patine "sévère" !!!

                              Je crois qu'il vaut mieux attendre que tu puisse ouvrir mon fichier.
                              Je pense aussi que ça me donne envie de me mettre aux macro, avec lesquelles j'ai le sentiment qu'on peut faire beaucoup de choses. !!

                              A bientôt j'espère, dès que tu auras pu ouvrir ce sacré fichier

                              Merci encore DOINIS
                              0
                              1. Si tu as besoin d'aide à nouveau, n'hésite pas :)
                                0
                                • 1
                                • 2