Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 03/10/2005, 11h02   #1 (permalink)
gab
Guest
 
Messages: n/a
Par défaut selection plage

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 ?
  Réponse avec citation
ANNONCES
Vieux 03/10/2005, 11h50   #2 (permalink)
XLDnaute Barbatruc
 
Avatar de Hervé
 
Date d'inscription: février 2005
Localisation: Saint-Etienne
Version Excel : Excel XP (PC)
Messages: 4 432
Par défaut Re:selection plage

Bonjour gab, le forum

Citation:
Range('C2:c32').SpecialCells(xlCellTypeConstants, 23).Name = 'liste'
ce type de code, nomme (liste) les cellules contenant seulement des valeurs dans la plage c2:c32.

salut
Hervé est déconnecté   Réponse avec citation
Vieux 03/10/2005, 12h09   #3 (permalink)
gab
Guest
 
Messages: n/a
Par défaut Re:selection plage

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.
  Réponse avec citation
Vieux 03/10/2005, 13h55   #4 (permalink)
XLDnaute Barbatruc
 
Avatar de Hervé
 
Date d'inscription: février 2005
Localisation: Saint-Etienne
Version Excel : Excel XP (PC)
Messages: 4 432
Par défaut Re:selection plage

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) :

Citation:
  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 :

Citation:
Sub Bouton1_QuandClic()
Dim c As Range
Dim plage As Range

Set plage = Range('C2')
ForEach c In Range('c3:c32')
   
If c <> 0 Then
&nbsp; &nbsp; &nbsp; &nbsp;
Set plage = Union(plage, c)
&nbsp; &nbsp;
EndIf
Next c
plage.Name = 'liste'
&nbsp; &nbsp;
EndSub

salut
Hervé est déconnecté   Réponse avec citation
Vieux 03/10/2005, 14h13   #5 (permalink)
gab
Guest
 
Messages: n/a
Par défaut Re:selection plage

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
  Réponse avec citation
Vieux 03/10/2005, 14h28   #6 (permalink)
XLDnaute Barbatruc
 
Avatar de Hervé
 
Date d'inscription: février 2005
Localisation: Saint-Etienne
Version Excel : Excel XP (PC)
Messages: 4 432
Par défaut Re:selection plage

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
Hervé est déconnecté   Réponse avec citation
Vieux 05/10/2005, 11h03   #7 (permalink)
gab
Guest
 
Messages: n/a
Par défaut Re:selection plage

Je me suis débrouillé autrement .

La question ne se pose plus donc...

merci encore
  Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 15h10.


(C) 2006 Excel Downloads