[VBA] Test sur plusieurs plages
Résolu
tyranausor
Messages postés
4198
Statut
Membre
-
tyranausor Messages postés 4198 Statut Membre -
tyranausor Messages postés 4198 Statut Membre -
Bonjour,
j'ai un classeur avec les nom des collaborateurs et tous les jours de la semaine. Je cherche à modifier mon code VBA pour que si la semaine est finie, ça copie tout dans une autre feuille et, si il manque un jour ou deux (sauf jours férié et non travaillé), la macro me renvoie une erreur.
J'ai le début de mon code qui est
or, dans mon code, la plage C6:I12 est copiée même si la semaine n'est pas complète! Et si je mets
C'est pareil.
Je pensais éventuellement définir les plages dans Range, mais Excel ne veut pas!
j'ai un classeur avec les nom des collaborateurs et tous les jours de la semaine. Je cherche à modifier mon code VBA pour que si la semaine est finie, ça copie tout dans une autre feuille et, si il manque un jour ou deux (sauf jours férié et non travaillé), la macro me renvoie une erreur.
J'ai le début de mon code qui est
If Application.CountA(Range("C6:I12")) = 0 Then"
'Si la plage C6:I12 est vide, on n'exécute pas la macro
MsgBox "Aucune heure n'a été saisie!", vbCritical + vbOKOnly, "Application de paie"
'Affiche un message d'erreur
Else: Range("A6:I12").Select
... (exécution des instructions)
or, dans mon code, la plage C6:I12 est copiée même si la semaine n'est pas complète! Et si je mets
If Application.CountA(Range("C6:I12")) = "" Then"
'Si la plage C6:I12 est vide, on n'exécute pas la macro
C'est pareil.
Je pensais éventuellement définir les plages dans Range, mais Excel ne veut pas!
Range("C6:C12","D6:D12","E6 :E12","F6 :F12,"G6:G12","H6 :H12","I6 :I12"
A voir également:
- [VBA] Test sur plusieurs plages
- Test performance pc - Guide
- Test steam deck oled - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test composant pc - Guide
- Test batterie pc - Guide
2 réponses
Bonjour,
si toutes les cellules doivent etre non vides (6*7=42 cellules non vide)
si toutes les cellules doivent etre non vides (6*7=42 cellules non vide)
'Si la plage C6:I12 est vide, on n'exécute pas la macro
If Application.CountA(Range("C6:I12")) < 42 Then
' Affiche un message d'erreur
MsgBox "Aucune heure n'a été saisie!", vbCritical + vbOKOnly, "Application de paie"