VBA: petits problèmes if et enregistrement

willnet

XLDnaute Nouveau
Bonjour,

je suis un novice en VBA et un projet scolaire me demande de créer un pseudo logiciel de fiche de paie et je bloque sur quelques points.

Tout d'abord, ici je souhaite afficher un message lorsque l'utilisateur n'a pas rempli tous les champs.

Il me sort une erreur : un manque de "End If" pour ce code et je ne comprend pas pourquoi.

Sheets("edition").Select
Range("B6,D6,B8,B13").Select
If ActiveCell.Value = "" Then
UserForm5.Show
Else GoTo Afficher


Ensuite je souhaiterai savoir si il est possible d'enregistrer une feuille (et non l'ensemble du document, donc pas de macro) en PDF dans un répertoire spécifique, en utilisant comme nom de fichier des cellules de cette feuille.
Si oui auriez vous une idée du code que cela demanderait?

Merci d'avance.

Willnet
 

Pierrot93

XLDnaute Barbatruc
Re : VBA: petits problèmes if et enregistrement

Bonsoir,

Il me sort une erreur : un manque de "End If" pour ce code et je ne comprend pas pourquoi.

Sheets("edition").Select
Range("B6,D6,B8,B13").Select
If ActiveCell.Value = "" Then
UserForm5.Show
Else GoTo Afficher

bah oui, on dirait...
Code:
Sheets("edition").Select
Range("B6,D6,B8,B13").Select
If ActiveCell.Value = "" Then
UserForm5.Show
Else 
GoTo Afficher
End if

comprends pas trop ceci :
Code:
Range("B6,D6,B8,B13").Select

car seulement une seule cellule sera active...

bonne soirée
@+
 

willnet

XLDnaute Nouveau
Re : VBA: petits problèmes if et enregistrement

Cependant il me met la même erreur lorsque je détail:

Sheets("edition").Select
Range("B6").Select
If ActiveCell.Value = "" Then
UserForm5.Show
Else
Sheets("edition").Select
Range("D6").Select
If ActiveCell.Value = "" Then
UserForm5.Show
Else
Sheets("edition").Select
Range("B8").Select
If ActiveCell.Value = "" Then
UserForm5.Show
Else
Sheets("edition").Select
Range("B13").Select
If ActiveCell.Value = "" Then
UserForm5.Show
Else GoTo Afficher
 

Pierrot93

XLDnaute Barbatruc
Re : VBA: petits problèmes if et enregistrement

Bonjour,

A noter que l'on pourrait tester l'ensenble des cellules ainsi :
Code:
If WorksheetFunction.CountA(Range("B6,D6,B8,B13")) < 4 Then MsgBox "1 cellule au moins est vide"

bonne journée
@+
 

Discussions similaires

  • Question
Microsoft 365 Code VBA
Réponses
2
Affichages
347

Statistiques des forums

Discussions
312 538
Messages
2 089 405
Membres
104 162
dernier inscrit
ZAIK