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

selection plage

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

G

gab

Guest
Bonjour,

J'utilise ceci en vba pour nommer une plage de données

ActiveWorkbook.Names.Add Name:='liste', RefersToR1C1:='=main!R2C3:R' & WorksheetFunction.CountA(.Columns(3)) +1 & 'C3'

le souci, c'est que dans ma plage (C2 à C32), je n'ai que des formules matricielles de qui me renvoient des valeurs -> de C2 à C(variable).

La ligne de code ci-dessus me compte toutes les cellules contenant quelque chose, y compris les formules... moi je souhaite que cela compte uniquement le nombre de cellules contenant des valeurs.



quelqu'un sait ?
 
J'ai essayé mais ca ne fonctionne pas... cela ne sélectionne que la cellule qui contient du texte pur (le titre de ma colonne).

Pour info, en C2 il y a mon titre et en C3 il y a cette formule (développée jusqu'à c32) :

{=INDEX(colpays;MIN(IF(Pays=Pays;IF(COUNTIF(C$2:C2;Pays)=0;ROW(Pays)))))&''}

ce qui signifie qu'entre C3 et C32 il peut potentiellement y avoir de 0 à 30 valeurs de rapportées par cette formule.

Une fois que la formule a apporté ces éléments, je souhaite faire tourner une macro qui nomme 'liste' la plage de $C$2 à $C(dernière cellule non vide).

C'est pas facile... pour moi.
 
re

Pas sur de comprendre.

Si tu veux nommer la plage de c2:c derniere cellule non vide (quelque soit le nombre renvoyer pas les formules) :

  Range('C2:c' & Range('c65536').End(xlUp).Row).Name = 'list'

Si tu veux nommer les cellules seulement si le résultat de la formule est différent de 0 :



salut
 
Non ça ne fonctionne toujours pas. Ca me nomme la plage C2:C32 complète.
C'est assez curieux, car les cellules où se trouvent les formules sont considérées comme étant non vides, même si il ne renvoient aucune valeur....

J'ai essayé différement en faisant ceci :

Range('c2:c32').Find('*').Select

et ça sélectionne la cellule C3, qu'il y ait une valeur ou non....

vraiment j'ai du mal à trouver la solution à cette énigme
 
re

Moi, ou j'ai du mal, c'est comprendre ce que tu veux nommer.

pourrais-tu mettre un fichier avec des données type en c2 : c32 et nous dire dans cette exemple qu'elles sont les cellules à nommer.

je commence à manquer d'imagination en terme de syntaxe 🙂

salut
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

B
Réponses
2
Affichages
1 K
C
  • Question Question
Réponses
23
Affichages
5 K
P
  • Question Question
Réponses
1
Affichages
3 K
Patrosso
P
F
Réponses
14
Affichages
6 K
fred777
F
S
Réponses
2
Affichages
1 K
Sunfreez
S
Z
Réponses
6
Affichages
2 K
zored
Z
L
Réponses
2
Affichages
2 K
La dugue
L
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…