[VBA] Test sur plusieurs plages

Résolu
tyranausor Messages postés 3545 Date d'inscription   Statut Membre Dernière intervention   -  
tyranausor Messages postés 3545 Date d'inscription   Statut Membre Dernière intervention   -
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

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:

2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

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"
0
tyranausor Messages postés 3545 Date d'inscription   Statut Membre Dernière intervention   2 039
 
Bonjour, en fait c'était tellement bête que je n'y ait pas pensé!

En tout cas merci, ça fonctionne!
0