Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Réalisation d'une partie de macro sous conditions.

Rom1234

XLDnaute Nouveau
Bonjour,

Je souhaite savoir comment conditionner la réalisation de la partie 1 de la macro si la case A1 = x
La seconde partie doit être réalisée dans tous les cas.

Voici la macro

(partie 1 )
'
'gestion1
ActiveWindow.SmallScroll ToRight:=9
Selection.AutoFilter Field:=14, Criteria1:="1"
Windows("G1_.xls").Activate
Workbooks.Open Filename:= _
"Z:\AB\SUIVI \gestion1.xls"

Windows("gestion1.xls").Activate
Rows("6:4000").Select
Range("C7").Activate
Selection.ClearContents
Windows("G1_.xls").Activate
Rows("1:4000").Select
Range("J2").Activate
Selection.Copy
Windows("gestion1.xls").Activate
Rows("6:6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
Windows("G1_.xls").Activate
Selection.AutoFilter Field:=14

(partie 2)

'gestion2
ActiveWindow.SmallScroll ToRight:=9
Selection.AutoFilter Field:=14, Criteria1:="2"
Windows("G1_.xls").Activate
Workbooks.Open Filename:= _
"Z:\AB\SUIVI \gestion2.xls"

Windows("gestion2.xls").Activate
Rows("6:4000").Select
Range("C7").Activate
Selection.ClearContents
Windows("G1_.xls").Activate
Rows("1:4000").Select
Range("J2").Activate
Selection.Copy
Windows("gestion2_.xls").Activate
Rows("6:6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
Windows("G1_.xls").Activate
Selection.AutoFilter Field:=14


Merci pour votre aide.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Réalisation d'une partie de macro sous conditions.

Bonjour Rom, et bienvenue sur le forum



(partie 1 )

If Range("A1") = x then
'gestion1
ActiveWindow.SmallScroll ToRight:=9
Selection.AutoFilter Field:=14, Criteria1:="1"
Windows("G1_.xls").Activate
Workbooks.Open Filename:= _
"Z:\AB\SUIVI \gestion1.xls"

Windows("gestion1.xls").Activate
Rows("6:4000").Select
Range("C7").Activate
Selection.ClearContents
Windows("G1_.xls").Activate
Rows("1:4000").Select
Range("J2").Activate
Selection.Copy
Windows("gestion1.xls").Activate
Rows("6:6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
Windows("G1_.xls").Activate
Selection.AutoFilter Field:=14

End If

(partie 2)

'gestion2
ActiveWindow.SmallScroll ToRight:=9
Selection.AutoFilter Field:=14, Criteria1:="2"
Windows("G1_.xls").Activate
Workbooks.Open Filename:= _
"Z:\AB\SUIVI \gestion2.xls"

Windows("gestion2.xls").Activate
Rows("6:4000").Select
Range("C7").Activate
Selection.ClearContents
Windows("G1_.xls").Activate
Rows("1:4000").Select
Range("J2").Activate
Selection.Copy
Windows("gestion2_.xls").Activate
Rows("6:6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
Windows("G1_.xls").Activate
Selection.AutoFilter Field:=14


à+
Philippe
 

Rom1234

XLDnaute Nouveau
Re : Réalisation d'une partie de macro sous conditions.

Merci beaucoup pour ta réponse rapide, Philippe.
J'ai une autre petite question.
Je n'ai pas créé le fichier excel.
Celui-ci à des lignes qui vont de 1 à.... et des colonne également nommées de 1 à... (elles ne sont pas nommées en code alphabétique).
Je en peux donc pas écrire l'adresse de la première case en haut à gauche de la feuille.
Cela ferait : If Range("11") = x then

Y a t-il une autre façon de sélectionner cette case?

Merci
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…