Copie conditionnelle d'une plage de cellule
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
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.
-
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 -
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 -
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 :) ). -
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 -
Pas de souci :)
-
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 -
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 !-
-
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 :)
-
-
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 -
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 -
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
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 -
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
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 -
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 -
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
-
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 -
Je viens d'arriver à le DL, tu veux recopier quelles cellules en fonction de laquelle et vers où?
-
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 -
Si tu as besoin d'aide à nouveau, n'hésite pas :)
-
OK j'essaye. Merci
- 1
- 2