Copie conditionnelle d'une plage de cellule
DOINIS
Messages postés
83
Statut
Membre
-
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
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
Suivant
-
Bonsoir
"Fichier joint"
vous dites????
crdlmnt -
Je l'ai envoyé par le webmail mais je ne sais pas comment le joindre pour que tu
le vois.
Une aide ? Merci -
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 ! -
Bonjour
Voici un nouveau lien Dis-moi si c'est OK
http://www.cijoint.fr/cjlink.php?file=cj201109/cijQm53lhm.zip
Bonne journée -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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"
-
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 -
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! :)
-
-
-
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 -
Je viens d'arriver à le DL, tu veux recopier quelles cellules en fonction de laquelle et vers où?
-
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 -
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
-
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 -
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 -
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 :)
-
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 -
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.
-
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 -
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
- 1
- 2
Suivant