Excel VBA Code pour ne pas éxécuter la macro

Résolu
_gfv Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
 MAt -
Bonjour à tous,

Dans une macro, je suis amené à ne pas "lancer" la macro si une condition n'est pas remplie.
Je suis donc à la recherche d'un code pour ne pas que la suite s'exécute...je ne sais pas si je suis très clair, vous pouvez me questionner :)

merci pour votre aide, cela fait 2 jours que je galère !!

gfv





A voir également:

5 réponses

g Messages postés 1265 Date d'inscription   Statut Membre Dernière intervention   577
 
Bonjour,

If, Then, Else....

Mais sans ton code et ta condition ce ne va pas être facile d'être plus précis.

Bonne journée.
1
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

Il suffit de mettre une conditionnelle si en VBA IF

Si tu en dis plus sur ta conditionnelle on pourra t'écrire un code
1
_gfv Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour g, voici mon code :

Sub Macro4()

Const plage = "A8:BC16"
Dim li As Long, nbli As Long
nbli = Range(plage).Rows.Count
Selection.Offset(0, 0).Select
For li = 1 To nbli
ActiveCell.EntireRow.Insert
Next li
Range(plage).Copy
ActiveSheet.Paste

plage2 = "J12:U12"
Range(plage2).Copy
Selection.Offset(13, 9).Select
ActiveSheet.Paste


End Sub


gfv
0
g Messages postés 1265 Date d'inscription   Statut Membre Dernière intervention   577
 
Je suppose que la suite qui ne doit pas s'exécuter est

plage2 = "J12:U12"
Range(plage2).Copy
Selection.Offset(13, 9).Select
ActiveSheet.Paste

mais à quelle condition ?
0
_gfv Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
en effet, j'ai trouvé...le problème que j'avais est résolu avec une condition If Then Else.

J'ai calé après le If ma condition, après le Then je lance une Box avec le petit message qui va bien, et après le Else je lance le code plus haut et le tour est joué !

Je vous remercie pour votre aide qui m'est précieuse.

Si quelqu'un veux le code complet :

ligne = ActiveCell.Row
col = ActiveCell.Column 'définition de la cellule active

If Cells(ligne, 37) = "XXX" Then
Application.Run ("boite") 'affiche une box si l'insertion n'est pas au bon endroit et n'exécute pas l'insertion

Else
Const plage = "A8:BC16"
Dim li As Long, nbli As Long
nbli = Range(plage).Rows.Count
Selection.Offset(0, 0).Select
For li = 1 To nbli
ActiveCell.EntireRow.Insert
Next li
Range(plage).Copy
ActiveSheet.Paste 'copier et insertion des cellules de la plage définie

plage2 = "J12:U12"
Range(plage2).Copy
Selection.Offset(13, 9).Select
ActiveSheet.Paste 'copier et coller des cellules de la plage(2) définie - pour les formules

End If


voilà, voilà :)

gfv
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MAt
 
Application.EnableEvents = False
Workbooks.Open "C:\Temp\LeClasseurQuiContientWorkbook_Open.xls"
Application.EnableEvents = True
0