Excel - VBA- copie range sur condition

Fermé
Misterbean1 Messages postés 53 Date d'inscription vendredi 13 mai 2011 Statut Membre Dernière intervention 22 août 2017 - Modifié par Misterbean1 le 8/01/2015 à 16:57
Misterbean1 Messages postés 53 Date d'inscription vendredi 13 mai 2011 Statut Membre Dernière intervention 22 août 2017 - 13 janv. 2015 à 11:30
Bonjour,
J'ai la question suivante et ne suis pas spécialiste VBA....

J'aimerais qu'un range de cellules (A 10 jusque I 50) de ma PAGE1 soient copiés (TEL QUEL, çàd en conservant toutes les propriétés ainsi que la taille des cellules et contenu) et ensuite collés à un endroit bien précis sur ma PAGE2 (par exemple à partir de B100) MAIS UNIQUEMENT lorsqu'une condition est remplie (par exemple que sur la PAGE1, la cellule I13 soit différente de zéro. Dans le cas contraire, rien ne doit apparaître à cet endroit sur la PAGE2

Pouvez-vous m'aider ?
D'avance merci !
A voir également:

2 réponses

jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 689
8 janv. 2015 à 18:15
Bonsoir,

Sub copieRangeSousCondition()
Dim Fsrc As Worksheet
Dim Fcible As Worksheet
Dim RngACopier As Range

Set Fsrc = Sheets("Feuil1")
Set Fcible = Sheets("Feuil2")
Set RngACopier = Fsrc.Range("A10:I50")

'MAIS UNIQUEMENT lorsqu'une condition est remplie (par exemple que sur la PAGE1, la cellule I13 soit différente de zéro
If Fsrc.Range("I13").Value <> 0 Then
 'J'aimerais qu'un range de cellules (A 10 jusque I 50) de ma PAGE1
 'collés à un endroit bien précis sur ma PAGE2 (par exemple à partir de B100)
 Application.CutCopyMode = False
 RngACopier.Copy
 With Fcible.Range("B101")
    .PasteSpecial Paste:=xlPasteValues
    .PasteSpecial Paste:=xlPasteColumnWidths
    .PasteSpecial Paste:=xlPasteFormats
    .Application.CutCopyMode = False
 End With

End If

End Sub


0
Misterbean1 Messages postés 53 Date d'inscription vendredi 13 mai 2011 Statut Membre Dernière intervention 22 août 2017 1
Modifié par Misterbean1 le 8/01/2015 à 20:00
Merci Jordane, mais ce code ne semble pas fonctionner (pas d'erreur mais pas d'action non plus).
J'ai Excel 2013 version anglaise.
J'ai associé ce module à un bouton pour tester, mais rien....sachant qu'en fin de compte j'aimerais que ce soit automatique .

d'avance merci pour une nouvelle aide
0
jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 689 > Misterbean1 Messages postés 53 Date d'inscription vendredi 13 mai 2011 Statut Membre Dernière intervention 22 août 2017
8 janv. 2015 à 20:03
J'ai Excel 2013 version anglaise.

Si tu as une version Anglaise.. le nom des feuilles n'est très certainement pas celui que j'ai mis pour mes tests...
As tu modifié les lignes :
Set Fsrc = Sheets("Feuil1")
Set Fcible = Sheets("Feuil2")


sachant qu'en fin de compte j'aimerais que ce soit automatique .

C'est à dire ?
Qu'est-ce qui est sensé déclencher la macro ? .. un changement dans une cellule ? un change de feuille ??
Merci d'être plus précis dans tes questions.
0
Misterbean1 Messages postés 53 Date d'inscription vendredi 13 mai 2011 Statut Membre Dernière intervention 22 août 2017 1 > jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024
8 janv. 2015 à 21:11
Jordane, merci pour les réactions et je confirme que cela fonctionne mais je dois adapter ma demande compte tenu du résultat obtenu dans la feuille d 'accueil...je m'explique

*Concernant la copie des données, finalement, pour le "collé" garder la taille des cellules n'est pas une bonne idée car cela casse la structure d'autres données de la feuille d'accueil, donc j'aimerais que le range de cellules copiés soit collé en format image (JPG ou png). Est-ce possible ?

Ensuite, ce que j'imagine, c'est que si la condition est remplie, l'image sera intégrée à la page d'accueil (PAGE2) mais que si la condition n'est pas remplie, rien ne sera collé mais de façon automatique (donc sans devoir pousser sur un bouton ) comme lorsqu'une formule est utilisée...mais peut-être demande-je trop ?

D'avance merci pour une réponse
0
Misterbean1 Messages postés 53 Date d'inscription vendredi 13 mai 2011 Statut Membre Dernière intervention 22 août 2017 1
13 janv. 2015 à 11:30
Quelqu'un autait-il une réponse ? snif.... ;)

D'avance merci
0