Ne pas démarrer une VBA si (C6<>"") + messag

Bonjour le forum,

j'ai trois petite questions :

1/ j'aimerais ne pas activé ma macro si C6 n'est pas renseigner!

voici la macro qui se trouve dans un module d'une classeur :

Sub Recopie()

Zone = Range("B65535").End(xlUp).Row - 6

Sheets("Données").Range("A" & Sheets("Données").Range("A65535").End(xlUp).Offset(1, 0).Row, "F" & Sheets("Données").Range("A65535").End(xlUp).Offset(1 + Zone, 0).Row).Value = Sheets("Equipements").Range("B7", Sheets("Equipements").Range("G7").Offset(Zone, 0)).Value

Sheets("Equipements").Range("C7", Sheets("Equipements").Range("D7").Offset(Zone, 0)).ClearContents

End Sub

2/ j'aimerai ne pas activé ma VBA si D6 n'est pas renseigner!

voici la macro qui se trouve sur la feuil1(Equipements) d'un autre classeur :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

' Saisie Date par Franck Marian 27 Février 2008

Dim zone As Integer

If stopevt = True Then Exit Sub

If Target = Range("C3") Then

zone = Range("B65535").End(xlUp).Row - 6

Sheets("Données").Range("A" & Sheets("Données").Range("A65535").End(xlUp).Offset(1, 0).Row, "D" & Sheets("Données").Range("A65535").End(xlUp).Offset(1 + zone, 0).Row).Value = Sheets("Equipements").Range("B6", Sheets("Equipements").Range("E6").Offset(zone, 0)).Value

stopevt = True

Sheets("Equipements").Range("C6", Sheets("Equipements").Range("D6").Offset(zone, 0)).ClearContents

stopevt = False

End If

Call incremente

End Sub

3/ si la cellule C6 où D6 est pas renseigner ne pas activer la macro par contre j'aimerai avoir un message avertissement du type ci dessous mais rien de sur?

If Range("D8").Value = "soudures" Then

With Range("K20").Validation

.InputTitle = "Saisir le Nb de soudures !"

.InputMessage = "Nb de soudures ! Merci"

.ErrorTitle = "Attention!"

.ErrorMessage = "Nb de soudures! "

.ShowInput = True

Cordialement Franck

Salut le Forum!

Il y a pas un moyen pour éviter de lance la macro?

Amicalement Franck

Bonsoir,

1. Dans Ta macro Sub Recopie() mets :

Sub Recopie()

If Not IsEmpty(Range("C6")) Then

2. Remplace If Target = Range("C3") par If Target = Range("C3") And Not IsEmpty(Range("D6")) Then

3. Essaye :

If isempty(range("C6")) or isempty(range("D6")) then msgbox "ton message"

A te relire

Dan

Bonjour le forum,

je viens de trouvé :

If [C7] = "" And [C8] = "" Then

MsgBox "Veuillez saisir votre pseudo et la date"

Exit Sub

End If

merci

Franck

Rechercher des sujets similaires à "pas demarrer vba messag"