A voir également:
- Excel: Empêcher impression si cellule pas remplie
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
- Comment calculer la moyenne sur excel - Guide
4 réponses
f894009
Messages postés
17242
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 mars 2025
1 713
Modifié le 27 mai 2021 à 07:22
Modifié le 27 mai 2021 à 07:22
Bonjour,
Une facon de faire:
Une facon de faire:
Sub imprimer_enregistrer() Cel_Vide1 = Application.CountIf(Range("B2:D2"), "") 'nombre de cellules vides Cel_Vide2 = Application.CountIf(Range("F2:G2"), "") 'nombre de cellules vides Cel_Vide = Cel_Vide1 + Cel_Vide2 If Cel_Vide = 0 Then Sheets("Form").PrintOut copies:=1 ActiveWorkbook.SaveAs Filename:= _ "C:\XXXX" & Format(Date, "yyyy.mm.dd") & " " & Format(Time, "hh-mm") & " " & Range("=Données!C2") & ".xlsm" Application.Quit Else If Range("B2") = "" Then Cel = "B2" ElseIf Range("C2") = "" Then Cel = "C2" ElseIf Range("D2") = "" Then Cel = "D2" ElseIf Range("F2") = "" Then Cel = "F2" ElseIf Range("G2") = "" Then Cel = "G2" Else End If Range(Cel).Select Response = MsgBox("Veuillez remplir la cellule " & Cel & " svp!", vbCritical, "Cellule NON remplie") End If End Sub
Bonjour,
Merci pour votre aide, cela fonctionne.
Je n'ai malheureusement pas été très explicite dans ma demande.
J'aimerai que cela fonctionne exactement de la même manière, mais sur toute la colonne de A2 à A33
Ex: Si A7 rempli -> Obligation de remplir B7;C7;D7;F7;G7
Désolé pour cet oubli.
Stéphane
Merci pour votre aide, cela fonctionne.
Je n'ai malheureusement pas été très explicite dans ma demande.
J'aimerai que cela fonctionne exactement de la même manière, mais sur toute la colonne de A2 à A33
Ex: Si A7 rempli -> Obligation de remplir B7;C7;D7;F7;G7
Désolé pour cet oubli.
Stéphane
f894009
Messages postés
17242
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 mars 2025
1 713
Modifié le 27 mai 2021 à 17:00
Modifié le 27 mai 2021 à 17:00
Re,
Sub imprimer_enregistrer() If Not Cell_Vide Then Sheets("Form").PrintOut copies:=1 ActiveWorkbook.SaveAs Filename:= _ "C:\XXXX" & Format(Date, "yyyy.mm.dd") & " " & Format(Time, "hh-mm") & " " & Range("=Données!C2") & ".xlsm" Application.Quit End If End Sub Function Cell_Vide() As Boolean With Worksheets("Form") For Lig = 2 To 33 Cel_Vide = 0 Cel_Vide1 = 0 Cel_Vide2 = 0 If .Cells(Lig, 1) <> "" Then Cel_Vide1 = Application.CountIf(.Range("B" & Lig & ":D" & Lig), "") 'nombre de cellules vides Cel_Vide2 = Application.CountIf(.Range("F" & Lig & ":G" & Lig), "") 'nombre de cellules vides Cel_Vide = Cel_Vide1 + Cel_Vide2 If Cel_Vide <> 0 Then If .Range("B" & Lig) = "" Then Cel = "B" & Lig ElseIf .Range("C" & Lig) = "" Then Cel = "C" & Lig ElseIf .Range("D" & Lig) = "" Then Cel = "D" & Lig ElseIf .Range("F" & Lig) = "" Then Cel = "F" & Lig ElseIf .Range("G" & Lig) = "" Then Cel = "G" & Lig Else End If .Range(Cel).Select Response = MsgBox("Veuillez remplir la cellule " & Cel & " svp!", vbCritical, "Cellule NON remplie") Cell_Vide = True Exit Function End If End If Next Lig End With Cell_Vide = False End Function