Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ne pas démarrer une VBA si (C6"") + message

18 réponses
Avatar
clyver
Bonjour le forum,

j'ai trois petite questions :

1/ j'aimerais ne pas activ=E9 ma macro si C6 n'est pas renseigner!
voici la macro qui se trouve dans un module d'une classeur :
Sub Recopie()
Zone =3D Range("B65535").End(xlUp).Row - 6
Sheets("Donn=E9es").Range("A" &
Sheets("Donn=E9es").Range("A65535").End(xlUp).Offset(1, 0).Row, "F" &
Sheets("Donn=E9es").Range("A65535").End(xlUp).Offset(1 + Zone,
0).Row).Value =3D 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=E9 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=E9vrier 2008
Dim zone As Integer
If stopevt =3D True Then Exit Sub
If Target =3D Range("C3") Then
zone =3D Range("B65535").End(xlUp).Row - 6
Sheets("Donn=E9es").Range("A" &
Sheets("Donn=E9es").Range("A65535").End(xlUp).Offset(1, 0).Row, "D" &
Sheets("Donn=E9es").Range("A65535").End(xlUp).Offset(1 + zone,
0).Row).Value =3D Sheets("Equipements").Range("B6",
Sheets("Equipements").Range("E6").Offset(zone, 0)).Value
stopevt =3D True
Sheets("Equipements").Range("C6",
Sheets("Equipements").Range("D6").Offset(zone, 0)).ClearContents
stopevt =3D False
End If
Call incremente
End Sub

3/ si la cellule C6 o=F9 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 =3D "soudures" Then
With Range("K20").Validation
=2EInputTitle =3D "Saisir le Nb de soudures !"
=2EInputMessage =3D "Nb de soudures ! Merci"
=2EErrorTitle =3D "Attention!"
=2EErrorMessage =3D "Nb de soudures! "
=2EShowInput =3D True


Cordialement Franck

10 réponses

1 2
Avatar
Daniel.C
Bonjour.
1.
Sub Recopie()
If [C6] = "" then
MsgBox "C6 non renseigné"
Exit Sub
End If
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.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' Saisie Date par Franck Marian 27 Février 2008
Dim zone As Integer
If [D6] = "" then
MsgBox "D6 non renseigné"
Exit Sub
End If
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. J'ai incorporé un message d'erreur.

Cordialement.
Daniel

"clyver" a écrit dans le message de news:

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
Avatar
clyver
Bonsoir le forum

Merci a toi Daniel cela me va à merveille encore merci bonne semaine

Amicalement

Franck
Avatar
clyver
Bonsoir le forum

Salut Daniel!

j'ai un pb sur la 1er macro
debug sur la ligne :
Sheets("Equipements").Range("C7",
Sheets("Equipements").Range("D7").Offset(Zone, 0)).ClearContents

sur la marco ci dessous
1.
Sub Recopie()
If [C6] = "" then
MsgBox "C6 non renseigné"
Exit Sub
End If
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

merci
Avatar
Daniel.C
C'est la faute à OE qui coupe les lignes. Les deux lignes ne doivent qu'en
faire une seule. Fais attention, ce n'est peut-être pas la seule.
Daniel
"clyver" a écrit dans le message de news:

Bonsoir le forum

Salut Daniel!

j'ai un pb sur la 1er macro
debug sur la ligne :
Sheets("Equipements").Range("C7",
Sheets("Equipements").Range("D7").Offset(Zone, 0)).ClearContents

sur la marco ci dessous
1.
Sub Recopie()
If [C6] = "" then
MsgBox "C6 non renseigné"
Exit Sub
End If
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

merci
Avatar
clyver
Re bonjour Daniel coucou au Forum aussi!

je n'y arrive pas je te joint mon fichier encore mille merci

Le lien a été créé: http://cjoint.com/?ehjFdL0hWm
Avatar
Daniel.C
Bonjour.
Dis-moi ce que tu veux faire.
Daniel
"clyver" a écrit dans le message de news:

Re bonjour Daniel coucou au Forum aussi!

je n'y arrive pas je te joint mon fichier encore mille merci

Le lien a été créé: http://cjoint.com/?ehjFdL0hWm
Avatar
clyver
Bonjour Daniel,

j'aimerai dans ce classeur

mettre un message d'erreur du type merci de saisir votre pseudo et la
date si dans la zone "C7:C8" est vide de plus ne pas activé
l'archivage de la macro "recopie" faire stop si "C7:C8" est rempli
activer la macro "recopie" pour archivage de l'action


merci

Le lien a été créé: http://cjoint.com/?ehjFdL0hWm
Avatar
clyver
Bonjour Daniel,

j'aimerai dans ce classeur

mettre un message d'erreur du type merci de saisir votre pseudo et la
date si dans la zone "C7:C8" est vide de plus ne pas activé
l'archivage de la macro "recopie" faire stop si "C7:C8" est rempli
activer la macro "recopie" pour archivage de l'action


merci

Le lien a été créé: http://cjoint.com/?ehjFdL0hWm
Avatar
Daniel.C
Sub Recopie()
If [C7] = "" And [C8] = "" Then
MsgBox "Veuillez saisir votre pseudo et la date"
Exit Sub
End If
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

Daniel
"clyver" a écrit dans le message de news:

Bonjour Daniel,

j'aimerai dans ce classeur

mettre un message d'erreur du type merci de saisir votre pseudo et la
date si dans la zone "C7:C8" est vide de plus ne pas activé
l'archivage de la macro "recopie" faire stop si "C7:C8" est rempli
activer la macro "recopie" pour archivage de l'action


merci

Le lien a été créé: http://cjoint.com/?ehjFdL0hWm
Avatar
clyver
Bonjour le forum!

J'hallucine ça fonction pourtant je vois pas de changement?



le changement viens d'ou????



Amicalement

Franck
1 2