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
A voir également:

27 réponses

Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
Bonsoir

"Fichier joint"

vous dites????

crdlmnt
0
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
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

le déposer sur cijoint.fr et coller ici le lien fourni.
eric
0
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
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
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
DOINIS Messages postés 83 Statut Membre
 
OK j'essaye. Merci
0
Heremion Messages postés 564 Statut Membre 102
 
Si tu as besoin d'aide à nouveau, n'hésite pas :)
0
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
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
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
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
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
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
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
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
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
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
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