Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Utilisation de Cells et de Range

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
 

DanB34

XLDnaute Nouveau
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:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…