Copie conditionnelle d'une plage de cellule

DOINIS Messages postés 83 Statut Membre -  
DOINIS Messages postés 83 Statut Membre -
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

  • 1
  • 2
  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonsoir

    "Fichier joint"

    vous dites????

    crdlmnt
    0
  2. DOINIS Messages postés 83 Statut Membre
     
    Je l'ai envoyé par le webmail mais je ne sais pas comment le joindre pour que tu
    le vois.

    Une aide ? Merci
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      le déposer sur cijoint.fr et coller ici le lien fourni.
      eric
      0
  3. DOINIS Messages postés 83 Statut Membre
     
    Merci,

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

    Dis-moi si c'est OK

    J'ai du le faire +sieurs fois.
    J'ai aussi cette adresse

    http://www.cijoint.fr/cjlink.php?file=cj201109/cijxgW2RGn.zip
    A demain Bonne nuit !
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      C'est sûrement ok, mais inaccessible pour l'instant.
      cijoint.fr à pas mal de pb en ce moment, tu peux doubler sur cjoint.com
      eric
      0
  4. DOINIS Messages postés 83 Statut Membre
     
    Bonjour

    Voici un nouveau lien Dis-moi si c'est OK

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

    Bonne journée
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Heremion Messages postés 564 Statut Membre 102
     
    Bonjour Doinis,

    Si tu mets ce code dans un bouton, tu peux peut-être arriver à ce que tu cherches à faire.

    Private Sub CommandButton1_Click()
    Dim imax, i
    Dim valeurcas
    
        valeurcas = Worksheets(1).Range("F1").Value
        If valeurcas = "transfert" Then
            Worksheets(1).Range("A1:B10").Select
            Selection.Copy
            Worksheets(2).Activate
            Worksheets(2).Select
            Worksheets(2).Paste
        Else
            MsgBox "Désolé, la plage ne peut être copiée"
        End If
    End Sub
    


    Note : Ici le code ne fait la copie que des 10 premières lignes de A et B uniquement si dans la cellule F1, j'ai le mot "transfert"
    0
  7. DOINIS Messages postés 83 Statut Membre
     
    Merci Heremion
    Je n'ai jamais touché aux macro. Je vais essayer de comprendre et de le faire.

    N'y a t-il pas une formule possible (donc sans macro) pour faire la même chose ?

    As-tu pu lire mon fichier ?

    Merci DOINIS
    0
  8. Heremion Messages postés 564 Statut Membre 102
     
    Non car le site cijoint rencontre actuellement de nombreux problèmes.
    La page d'accueil, indisponible est souvent remplacée par une page d'indisponibilité qui...renvoie à la page d'accueil... merci les développeurs xD.

    En fait, pour créer une macro, il te faut l'onglet "Développeur".
    Pour cela, tu vas dans :

    Fichier > Options > Personnaliser le ruban > Onglets principaux > Activer l'onglet Développeur.

    Ensuite, dans cet onglet, tu demandes à insérer un bouton activeX sur la feuille. Une fois que tu as double-cliqué sur le bouton, cela va t'ouvrir une feuille VBA dans laquelle tu auras un squelette de ton évènement OnClick. Dans cet évènement, tu places simplement le code que je t'ai donné et en avant! :)
    0
  9. DOINIS Messages postés 83 Statut Membre
     
    OK j'essaye. Merci
    0
  10. Heremion Messages postés 564 Statut Membre 102
     
    Si tu as besoin d'aide à nouveau, n'hésite pas :)
    0
  11. DOINIS Messages postés 83 Statut Membre
     
    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
  12. Heremion Messages postés 564 Statut Membre 102
     
    Je viens d'arriver à le DL, tu veux recopier quelles cellules en fonction de laquelle et vers où?
    0
  13. DOINIS Messages postés 83 Statut Membre
     
    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
  14. Heremion Messages postés 564 Statut Membre 102
     
    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
  15. DOINIS Messages postés 83 Statut Membre
     
    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
  16. DOINIS Messages postés 83 Statut Membre
     
    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
  17. Heremion Messages postés 564 Statut Membre 102
     
    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
  18. DOINIS Messages postés 83 Statut Membre
     
    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
  19. Heremion Messages postés 564 Statut Membre 102
     
    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
  20. DOINIS Messages postés 83 Statut Membre
     
    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
  21. Heremion Messages postés 564 Statut Membre 102
     
    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
  • 2