XL 2016 Set Range(Cells, Cells) ne veut pas fonctionner

  • Initiateur de la discussion Initiateur de la discussion Olic78124
  • 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 !

Olic78124

XLDnaute Nouveau
Bonjour à toutes et à tous,

Pas de code à poster à part cette ligne Set RangeCalcul = Sheets("Mapping").Range(Cells(Valeur.Row, ColonneProjet), Cells(Valeur.Row, DernColonne)) qui ne veut rien savoir : "Erreur d'exécution 1004"

Valeur.Row, ColonneProjet et DernColonne contiennent bien les valeurs que j'attends (en l"occurrence et respectivement 2, 5 et 33) ce qui devrait donner

Set RangeCalcul = Sheets("Mapping").Range(Cells(2, 5), Cells(2, 33))

pour un équivalent

Set RangeCalcul = Sheets("Mapping").Range("E2:AG2")

Le but étant de compter et récupérer dans une variable le nombre de cellules renseignées de ce RangeCalcul via WorksheetFunction.CountA(RangeCalcul)

D'avance merci pour vos suggestions et excellente journée.
Olivier
 
bonjour
c'est normal que ça ne fonctionne pas c'est l'une des rares occasion ou vba n'est pas permissif dans le codage
Set RangeCalcul = Sheets("Mapping").Range(Cells(2, 5), Cells(2, 33))
la raison est simple
cells(2,5) ou cells(2,33) oui !!!! mais de quel feuilles?????????????????????

voila comment on réduit son écriture pour que vba identifie bien le parent des deux cells

with Sheets("Mapping"):Set RangeCalcul =.Range(.Cells(2, 5), .Cells(2, 33)):end with

en gros pour que tu comprenne bien d'ou vient le problème
voila l’écriture longue

Set RangeCalcul = Sheets("Mapping").Range( Sheets("Mapping").(2, 5), Sheets("Mapping").(2, 33))
 
Dernière édition:
Il me semblait tellement évident que Set RangeCalcul = Sheets("Mapping").Range(Cells(2, 5), Cells(2, 33)) faisait référence à la feuille "Mapping" pour le Range attenant, mais visiblement ce n'est pas le cas !

Merci pour cette réponse, je teste début PM et je reviens (pour râler) si ça ne fonctionne pas 😉

Olivier
 
Bonjour @patricktoulon ,

Un seul mot : respect, ça fonctionne à merveille et si je retiens le truc, j'aurai vraiment appris quelque chose 🙂

With Sheets("Mapping"): Set RangeCalcul = .Range(.Cells(Valeur.Row, ColonneProjet), .Cells(Valeur.Row, DernColonne)): End With

Longue vie au forum.
Olivier
 
- 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

Retour