Microsoft 365 Utilisation de Cells et de Range

  • Initiateur de la discussion Initiateur de la discussion DanB34
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

DanB34

XLDnaute Nouveau
Bonjour à tous,
Je pense avoir un problème de syntaxe.
En utilisant Range, il est possible de sélectionner un grand nombre de plages sans que ça pose problème, alors qu'en utilisant Cells, dès que plus de 2 plages sont sélectionnées ça ne fonctionne plus et l'erreur suivante apparait : nombre d'argument incorrect ou affectation de propriété incorrecte.
Si quelqu'un a une idée, je suis preneur ;-)
Ex avec 2 plage -> fonctionne :
VB:
NbCelVides = Range(Cells(13, 2) & ":" & Cells(lastrowWsDSINP & 6), Cells(13, 8) & ":" & Cells(lastrowWsDSINP & 8)).SpecialCells(xlCellTypeBlanks).Count

En ajoutant une 3e plage, ne fonctionne plus :
VB:
NbCelVides = Range(Cells(13, 2) & ":" & Cells(lastrowWsDSINP & 6), Cells(13, 8) & ":" & Cells(lastrowWsDSINP & 8), Cells(13, 62) & ":" & Cells(lastrowWsDSINP & 62)).SpecialCells(xlCellTypeBlanks).Count

En utilisant Range, le nombre de plages ne pose pas de problème :
VB:
NbCelVides = Range("B13:F" & lastrowWsDSINP & "," & "H13:H" & lastrowWsDSINP & "," & "BJ13:BJ" & lastrowWsDSINP & "," & "BL13:BL" & lastrowWsDSINP & "," & "BN13:BN" & lastrowWsDSINP & "," & "BP13:BP" & lastrowWsDSINP & "," & "BX13:BX" & lastrowWsDSINP & "," & "CG13:CG" & lastrowWsDSINP & "," & "CM13:CM" & lastrowWsDSINP).SpecialCells(xlCellTypeBlanks).Count

Bien cordialement,
Dan
 
Solution
en relisant, tu as aussi des erreurs dans tes cells, il manque des params, deux paramètres pour cells, ligne et colonne, et tel que tu l'as codé, c'est une chaine au lieu d'un nombre il devrait y avoir + et non pas &
ou alors tu as mis & au lieu d'une virgule
référence texte pour les range, coordonnées en nombres pour les cells
Cells(lastrowWsDSINP & 6)
Cells(lastrowWsDSINP & 8)
Cells(lastrowWsDSINP & 62)
re,

et mets aussi tes virgules de séparation entre guillemets, j'avais pas vu
cela doit donner quelque chose comme ça

Cordialement
VB:
NbCelVides = Range(Cells(13, 2).Address & ":" & Cells(lastrowWsDSINP & 6).Address & "," & Cells(13, 8).Address & ":" & Cells(lastrowWsDSINP & 8).Address & "," & Cells(13, 62).Address & ":" & Cells(lastrowWsDSINP & 62).Address).SpecialCells(xlCellTypeBlanks).Count
 
Bonjour Yeahou,
Merci pour les conseils et le temps passé. Ça semble ne pas fonctionner. J'ai utilisé un moyen de contournement en passant par une boucle sur chaque colonne concernée et en totalisant les cellules vides de chacune de ces colonnes.
Bien cordialement,
Dan
 
en relisant, tu as aussi des erreurs dans tes cells, il manque des params, deux paramètres pour cells, ligne et colonne, et tel que tu l'as codé, c'est une chaine au lieu d'un nombre il devrait y avoir + et non pas &
ou alors tu as mis & au lieu d'une virgule
référence texte pour les range, coordonnées en nombres pour les cells
Cells(lastrowWsDSINP & 6)
Cells(lastrowWsDSINP & 8)
Cells(lastrowWsDSINP & 62)
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Programme trop lent
Réponses
12
Affichages
898
  • Question Question
Microsoft 365 colorer une plage
Réponses
2
Affichages
844
Retour