[VBA] Test sur plusieurs plages

Résolu/Fermé
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 - 18 janv. 2015 à 12:42
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 - 18 janv. 2015 à 14:37
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 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024 1 711
Modifié par f894009 le 18/01/2015 à 14:07
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 jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 035
18 janv. 2015 à 14:37
Bonjour, en fait c'était tellement bête que je n'y ait pas pensé!

En tout cas merci, ça fonctionne!
0