Vérification si cellule ou ligne vide dans une autre feuille

Bonjour, j'ai une petite question.

J'ai une macro qui me permet d'imprimer des étiquettes.

La macro a besoin d'être renseigné la 1ère étiquette et la dernière étiquette (jusqu'à cette étiquette).

Je voudrais faire une vérification sur la dernière étiquette pour éviter d'imprimer des étiquettes vides.

Mais le problème est que je voudrais qu'elle vérifie si une cellule ou une ligne est vide dans une autre feuille d'un même classeur.

La feuille s'appelle PERSNL et la feuille où se trouve les étiquettes s'appelle CARTE.

Est il possible de faire cette vérification ?

Merci.

Sub IMPR()

r = MsgBox("Ceci va lancer toute une série d'impression, êtes-vous vraiment daccord ?", vbOKCancel)

If r = vbOK Then GoTo launchmacroconfirm

If r = vbCancel Then GoTo FIN

launchmacroconfirm:

Range("k3").Select

y = ActiveCell.FormulaR1C1

If y < 2 Then

MsgBox "1ère Etiquette dans k3 doit être SUPERIEURE à 1"

GoTo FIN

Else

Range("m3").Select

GoTo FIN

Else

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

y = y - 1

n = y + 1

Range("k3").Select

debut:

If Range("H79") < Range("m3") Then

n = n + 21

Range("k3").Select

ActiveCell.FormulaR1C1 = n

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

GoTo debut

End If

y = y + 1

Range("k3").Select

ActiveCell.FormulaR1C1 = y

FIN:

End If

End If

End Sub

25carte-personnel.zip (48.85 Ko)

Comme vous pouvez le voir si je met une valeur de dernière étiquette ou c'est vide, cela va m'afficher et m'imprimer des étiquettes avec des 0.

Bonjour

Je n'ai pas tout tout compris

Mais testes si tu essayes d'imprimer plus que personnel

    If Range("M3") > Application.CountA(Sheets("PERSNL").Columns(1)) - 1 Then
      MsgBox "ATTENTION vous avez fait une erreur de saisie sur LA DERNIERE ETIQUETTE"
      Exit Sub
    End If

Bonjour,

Merci, j'ai modifié un peu et cela marche nikel maintenant.

Sub IMPR()

r = MsgBox("Ceci va lancer toute une série d'impression, êtes-vous vraiment daccord ?", vbOKCancel)

If r = vbOK Then GoTo launchmacroconfirm

If r = vbCancel Then GoTo FIN

launchmacroconfirm:

Range("k3").Select

y = ActiveCell.FormulaR1C1

If y < 2 Then

MsgBox "1ère Etiquette dans k3 doit être SUPERIEURE à 1"

GoTo FIN

Else

Range("m3").Select

If Range("M3") > Application.CountA(Sheets("PERSNL").Columns(1)) Then

MsgBox "ATTENTION vous avez fait une erreur de saisie sur LA DERNIERE ETIQUETTE"

GoTo FIN

Else

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

y = y - 1

n = y + 1

Range("k3").Select

debut:

If Range("H79") < Range("m3") Then

n = n + 21

Range("k3").Select

ActiveCell.FormulaR1C1 = n

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

GoTo debut

End If

y = y + 1

Range("k3").Select

ActiveCell.FormulaR1C1 = y

FIN:

End If

End If

End Sub

Bonjour

Si je t'avais mis -1 dans la formule c'était pour ne pas compter la ligne de titre

Rechercher des sujets similaires à "verification ligne vide feuille"