Excel - VBA- copie range sur condition
Misterbean1
Messages postés
53
Date d'inscription
Statut
Membre
Dernière intervention
-
Misterbean1 Messages postés 53 Date d'inscription Statut Membre Dernière intervention -
Misterbean1 Messages postés 53 Date d'inscription Statut Membre Dernière intervention -
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 !
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:
- Excel - VBA- copie range sur condition
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Copie cachée - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
2 réponses
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
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
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 :
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.
*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