Lancer une macro si cellule non vide

Fermé
DJ333 Messages postés 5 Date d'inscription lundi 25 mars 2019 Statut Membre Dernière intervention 27 mars 2019 - 25 mars 2019 à 19:12
DJ333 Messages postés 5 Date d'inscription lundi 25 mars 2019 Statut Membre Dernière intervention 27 mars 2019 - 26 mars 2019 à 09:39
Bonjour
Je débute en macro... Je veux que en cliquant sur un bouton, les macros s'exécutent seulement si une cellule indiquée est renseignée. Mais mon code ne fonctionne pas, cela répond "manque une condition if...
Comment faire ? Par avance merci!

Sub crefeuille1()
' crefeuille1 Macro
If Range("C2") = "" Then
Sheets("Revue type").Select
Sheets("Revue type").Copy After:=Sheets(2)
Set MySheet = ActiveSheet
With MySheet
.Name = Worksheets("Trame").Range("e2")
End If
End With
End Sub
Sub crefeuille2()
'
' crefeuille2 Macro
'
If Range("C3") = "" Then
Sheets("Revue type").Select
Sheets("Revue type").Copy After:=Sheets(2)
Set MySheet = ActiveSheet
With MySheet
.Name = Worksheets("Trame").Range("e3")
End If
End With
End Sub

3 réponses

via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 740
25 mars 2019 à 20:57
Bonsoir

1° ta macro ne s'exécute que si la cellule C2 est vide
si tu veux qu'elle ne s'exécute que lorsque C2 est remplie il faut écrire If Range("C2") <>"" Then

2° Le End if devrait se trouver après le End with

3° With n'est utile que lorsqu'il y a plusieurs instructions à appliquer à la même plage pour éviter d'avoir à répéter, ici tu n'as qu'une instruction tu peux donc simplifier en remplaçant
With MySheet
.Name = Worksheets("Trame").Range("e2")
End with
par
ActiveSheet.Name = Worksheets("Trame").Range("e2")

Cdlmnt
Via
0