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

Petite ajout sur macro

3 réponses
Avatar
PLG
Bonjour à vous...!
Ci-dessous joint, le début de mon code.
Je souhaiterais qu'avant le MsgBox, un controle soit effectué.
A savoir : Si la cellule C3 est = à la cellule K6, une MsgBox apparaisse
avec le message " valeur déjà saisie " avec un bouton OK et l'arrêt de la
macro.
2ème controle : Si la cellule C3 est < à la cellule K6, une MsgBox avec "
valeur déjà saisie " avec OK et arrêt de la macro.
Sinon roule la macro....
Dis Monsieur... c'est faisable ?
D'avance merci aux mèdecins qui se pencheront sur mon chevet.
( j'ai essayé des trucs, mais étant fort doué en VBA.... z'avez compris ! )

Sub copieSGE_E2()
If MsgBox("ETES VOUS SUR DE VOULOIR VALIDER LA SAISIE ?", vbYesNo) = vbNo Then
Exit Sub
Else
Range("E4:G33").Select
Selection.Copy
Range("Q4").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Range("C4").Select
Application.CutCopyMode = False
With Worksheets("Saisie")
.Range("C3").Copy Worksheets("1").Range("A65000").End(xlUp).Offset(1, 0)
.Range("D4:G4").Copy Worksheets("1").Range("D65000").End(xlUp).Offset(1,
0)
.Range("J3:N3").Copy Worksheets("1").Range("L65000").End(xlUp).Offset(1,
0)
.Range("C3").Copy Worksheets("2").Range("A65000").End(xlUp).Offset(1, 0)
.Range("D5:G5").Copy Worksheets("2").Range("D65000").End(xlUp).Offset(1,
0)
.Range("C3").Copy Worksheets("3").Range("A65000").End(xlUp).Offset(1, 0)
.Range("D6:G6").Copy Worksheets("3").Range("D65000").End(xlUp).Offset(1,
0)

3 réponses

Avatar
PLG
Re moi...
En fait au 2ème controle, c'est pas " valeur déjà saisie " mais " valeur
inférieure à la dernière valeur saisie "
Vous me direz que ça ne change rien et.... vous n'aurez pas tort...!
C'est juste pour dire quoi...!

"PLG" wrote:

Bonjour à vous...!
Ci-dessous joint, le début de mon code.
Je souhaiterais qu'avant le MsgBox, un controle soit effectué.
A savoir : Si la cellule C3 est = à la cellule K6, une MsgBox apparaisse
avec le message " valeur déjà saisie " avec un bouton OK et l'arrêt de la
macro.
2ème controle : Si la cellule C3 est < à la cellule K6, une MsgBox avec "
valeur déjà saisie " avec OK et arrêt de la macro.
Sinon roule la macro....
Dis Monsieur... c'est faisable ?
D'avance merci aux mèdecins qui se pencheront sur mon chevet.
( j'ai essayé des trucs, mais étant fort doué en VBA.... z'avez compris ! )

Sub copieSGE_E2()
If MsgBox("ETES VOUS SUR DE VOULOIR VALIDER LA SAISIE ?", vbYesNo) = vbNo Then
Exit Sub
Else
Range("E4:G33").Select
Selection.Copy
Range("Q4").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Range("C4").Select
Application.CutCopyMode = False
With Worksheets("Saisie")
.Range("C3").Copy Worksheets("1").Range("A65000").End(xlUp).Offset(1, 0)
.Range("D4:G4").Copy Worksheets("1").Range("D65000").End(xlUp).Offset(1,
0)
.Range("J3:N3").Copy Worksheets("1").Range("L65000").End(xlUp).Offset(1,
0)
.Range("C3").Copy Worksheets("2").Range("A65000").End(xlUp).Offset(1, 0)
.Range("D5:G5").Copy Worksheets("2").Range("D65000").End(xlUp).Offset(1,
0)
.Range("C3").Copy Worksheets("3").Range("A65000").End(xlUp).Offset(1, 0)
.Range("D6:G6").Copy Worksheets("3").Range("D65000").End(xlUp).Offset(1,
0)


Avatar
FdeCourt
Salut,

Mets ce code avant ton msgbox :

With Worksheets("Saisie")
If .Range("C3") = .Range("K6") Then MsgBox "valeur déjà saisie":
Exit Sub
If .Range("C3") < .Range("K6") Then MsgBox "valeur déjà saisie":
Exit Sub
End With

Cordialement,

F.
Avatar
PLG
Bonjour à toi F.
Merci de ton code...
Toutefois j'ai un soucis.
La macro ne se lance pas.... (oups) et pas de message d'erreur...
Calme plat....

"FdeCourt" wrote:

Salut,

Mets ce code avant ton msgbox :

With Worksheets("Saisie")
If .Range("C3") = .Range("K6") Then MsgBox "valeur déjà saisie":
Exit Sub
If .Range("C3") < .Range("K6") Then MsgBox "valeur déjà saisie":
Exit Sub
End With

Cordialement,

F.
.