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

8 réponses

1 2
Avatar
clyver
On 7 avr, 11:29, clyver wrote:
Bonjour le forum!

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

le changement viens d'ou????

Amicalement

Franck




je viens de voir le probleme, si j'active la protection de la feuille
il me dit pb sur l'execution de la macro as tu une solution?

Avatar
Daniel.C
Quand tu écris :

If Not IsEmpty(Range("C7")) Then
' MsgBox "Attention !!! C7 non renseigné"
If IsEmpty(Range("C7")) Or IsEmpty(Range("D6")) Then MsgBox "ton
message"
Exit Sub
End If

Tu testes si C7 n'est pas vide et dans ce cas seulement, tu testes s'il est
vide; ça ne peut pas coller.
Daniel
"clyver" a écrit dans le message de news:

On 7 avr, 11:29, clyver wrote:
Bonjour le forum!

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

le changement viens d'ou????

Amicalement

Franck




je viens de voir le probleme, si j'active la protection de la feuille
il me dit pb sur l'execution de la macro as tu une solution?

Avatar
clyver
Re bonjour le forum,


je viens de voir le probleme, si j'active la protection de la feuille
il me dit pb sur l'execution de la macro as tu une solution?


Franck

Avatar
Daniel.C
Tu déprotèges ta feuille protégée au début de l'exécution de la macro et tu
la reprotèges à la fin de la macro. Suppose que ce soit la feuille "Données"
qui soit protégée :

Sub Recopie()
If Not IsEmpty(Range("C7")) Then
' MsgBox "Attention !!! C7 non renseigné"
If IsEmpty(Range("C7")) Or IsEmpty(Range("D6")) Then MsgBox "ton
message"
Exit Sub
End If

Sheets("Données").Unprotect Password:="xxx"
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
Sheets("Données").Protect Password:="xxx"

End Sub

Change le mot de passe ou, s'il n'y en a pas, écris simplement :
Sheets("Données").Unprotect
et
Sheets("Données").Protect
Daniel
"clyver" a écrit dans le message de news:

Re bonjour le forum,


je viens de voir le probleme, si j'active la protection de la feuille
il me dit pb sur l'execution de la macro as tu une solution?


Franck



Avatar
clyver
salut Daniel!

est il possible de cocher que :


Sélectionner les cellules déverrouillées

Modifier des scénarios

quand je demande ( Sheets("Données").Protect )

Merci

car en Auto classique j'ai pas les mêmes condition merci
Avatar
Daniel.C
Sauf erreur, quand tu as déprotégé ta feuille, et que tu la reprotèges,
Excel reprend les options précédentes.
Sinon :
ActiveSheet.Protect Contents:=True, Scenarios:úlse
Daniel
"clyver" a écrit dans le message de news:

salut Daniel!

est il possible de cocher que :


Sélectionner les cellules déverrouillées

Modifier des scénarios

quand je demande ( Sheets("Données").Protect )

Merci

car en Auto classique j'ai pas les mêmes condition merci
Avatar
clyver
Bonjour le forum

Merci Daniel mais si je regarde ma protection de feuille il ne veux
pas m'activer

Modifier des scénarios


Franck
Avatar
Daniel.C
Sers-toio de l'enregistreur de macros. Tu obtiendras le code que tu veux.
Daniel
"clyver" a écrit dans le message de news:

Bonjour le forum

Merci Daniel mais si je regarde ma protection de feuille il ne veux
pas m'activer

Modifier des scénarios


Franck
1 2