Excel - VBA- copie range sur condition
Misterbean1
Messages postés
53
Statut
Membre
-
Misterbean1 Messages postés 53 Statut Membre -
Misterbean1 Messages postés 53 Statut Membre -
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 :
Set Fsrc = Sheets("Feuil1") Set Fcible = Sheets("Feuil2")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