Bonjour,
Je suis sur une macro qui me pose problème.
J'ai un onglet "Localisation" dans lequel il y a des zones de saisis.
je voudrai vérifier le document pour que s'il y a des données dans les autres colonnes et que le champ de la colonne F n'est pas renseigné on
affiche un message d'erreur.
Voilà le code que j'ai fais et il fonctionne à la main pour les tests j'ouvre le document je saisi en oubliant le champ F cela fonctionne et quand je le
rempli plus de message. Mais quand le batch lance ce fichier il me met le message d'erreur sur tout les lignes active du document.
Avez-vus déjà eu ce problème ?
Merci par avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets("Localisation").Select NbLignes = ActiveSheet.UsedRange.Rows.Count For ligne = 2 To NbLignes If Worksheets("Localisation").Range("A" & ligne) <> "" Or Worksheets("Localisation").Range("B" & ligne) <> "" Or Worksheets("Localisation").Range("C" & ligne) <> "" Or Worksheets("Localisation").Range("D" & ligne) <> "" Or Worksheets("Localisation").Range("E" & ligne) <> "" Or Worksheets("Localisation").Range("G" & ligne) <> "" Or Worksheets("Localisation").Range("H" & ligne) <> "" Or Worksheets("Localisation").Range("I" & ligne) <> "" Or Worksheets("Localisation").Range("J" & ligne) <> "" Or Worksheets("Localisation").Range("K" & ligne) <> "" Or Worksheets("Localisation").Range("L" & ligne) <> "" Or Worksheets("Localisation").Range("M" & ligne) <> "" Or Worksheets("Localisation").Range("N" & ligne) <> "" Or Worksheets("Localisation").Range("O" & ligne) <> "" Or Worksheets("Localisation").Range("P" & ligne) <> "" _ Or Worksheets("Localisation").Range("Q" & ligne) <> "" Or Worksheets("Localisation").Range("R" & ligne) <> "" Or Worksheets("Localisation").Range("S" & ligne) <> "" Or Worksheets("Localisation").Range("T" & ligne) <> "" Or Worksheets("Localisation").Range("U" & ligne) <> "" Or Worksheets("Localisation").Range("V" & ligne) <> "" And Worksheets("Localisation").Range("F" & ligne) = "" Then MsgBox "Libellé manquant en F" & ligne & " de l'onglet Localisation. Merci de compléter.", vbExclamation, "Message Erreur" Cancel = True 'Annule les demandes d'enregistrement End If Next ligne End Sub









Répondre avec citation






Partager