Excel VBA Code pour ne pas éxécuter la macro
Résolu/Fermé
_gfv
Messages postés
14
Date d'inscription
lundi 10 janvier 2011
Statut
Membre
Dernière intervention
24 mars 2011
-
24 mars 2011 à 07:25
MAt - 28 nov. 2012 à 11:16
MAt - 28 nov. 2012 à 11:16
A voir également:
- Excel VBA Code pour ne pas éxécuter la macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Aller à la ligne excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Comment calculer la moyenne sur excel - Guide
5 réponses
g
Messages postés
1262
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
15 mai 2017
575
24 mars 2011 à 08:09
24 mars 2011 à 08:09
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.
If, Then, Else....
Mais sans ton code et ta condition ce ne va pas être facile d'être plus précis.
Bonne journée.
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 110
24 mars 2011 à 08:43
24 mars 2011 à 08:43
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
Il suffit de mettre une conditionnelle si en VBA IF
Si tu en dis plus sur ta conditionnelle on pourra t'écrire un code
_gfv
Messages postés
14
Date d'inscription
lundi 10 janvier 2011
Statut
Membre
Dernière intervention
24 mars 2011
24 mars 2011 à 08:10
24 mars 2011 à 08:10
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
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
g
Messages postés
1262
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
15 mai 2017
575
24 mars 2011 à 08:27
24 mars 2011 à 08:27
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 ?
plage2 = "J12:U12"
Range(plage2).Copy
Selection.Offset(13, 9).Select
ActiveSheet.Paste
mais à quelle condition ?
_gfv
Messages postés
14
Date d'inscription
lundi 10 janvier 2011
Statut
Membre
Dernière intervention
24 mars 2011
24 mars 2011 à 10:28
24 mars 2011 à 10:28
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question