Copie conditionnelle d'une plage de cellule

Fermé
DOINIS Messages postés 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022 - 13 sept. 2011 à 19:48
DOINIS Messages postés 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022 - 25 sept. 2011 à 19:57
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 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
13 sept. 2011 à 19:54
Bonsoir

"Fichier joint"

vous dites????

crdlmnt
0
DOINIS Messages postés 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022
13 sept. 2011 à 20:18
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 24597 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 22 septembre 2024 7 235
13 sept. 2011 à 20:23
Bonjour,

le déposer sur cijoint.fr et coller ici le lien fourni.
eric
0
DOINIS Messages postés 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022
Modifié par DOINIS le 14/09/2011 à 00:10
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 24597 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 22 septembre 2024 7 235
14 sept. 2011 à 00:10
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 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022
14 sept. 2011 à 10:07
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 538 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 1 juin 2022 102
14 sept. 2011 à 11:35
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 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022
14 sept. 2011 à 14:10
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 538 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 1 juin 2022 102
14 sept. 2011 à 14:16
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 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022
14 sept. 2011 à 14:19
OK j'essaye. Merci
0
Heremion Messages postés 538 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 1 juin 2022 102
14 sept. 2011 à 14:20
Si tu as besoin d'aide à nouveau, n'hésite pas :)
0
DOINIS Messages postés 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022
14 sept. 2011 à 15:58
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 538 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 1 juin 2022 102
14 sept. 2011 à 16:02
Je viens d'arriver à le DL, tu veux recopier quelles cellules en fonction de laquelle et vers où?
0
DOINIS Messages postés 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022
14 sept. 2011 à 16:04
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 538 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 1 juin 2022 102
14 sept. 2011 à 16:21
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 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022
14 sept. 2011 à 23:07
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 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022
16 sept. 2011 à 14:38
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 538 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 1 juin 2022 102
16 sept. 2011 à 15:10
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 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022
17 sept. 2011 à 16:47
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 538 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 1 juin 2022 102
18 sept. 2011 à 00:27
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 78 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 19 décembre 2022
18 sept. 2011 à 12:52
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 538 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 1 juin 2022 102
18 sept. 2011 à 13:06
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