tableau de valeurs

David73

XLDnaute Nouveau
Bonjour à tous !

Je possède une feuille Excel 2 colonnes de type :
(1ere colonne = Nom de la quantite ; 2 eme colonne = valeur de la quantite)

A 4
B 6
C 8
........
ZZ 8888



Dans un module VBA , j'aimerais utiliser directement ces variables.
Par exemple :

Resultat = A * B (ou A et B proviendraient directement de la 1ere feuille) ; je n'aurais donc pas a declarer A et B manuellement ni a récupérer moi même les valeurs.

Quelqu'un aurait-il une idée de la procedure a ecrire pour recuperer directement ces variables ...

Merci beaucoup !!!
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir David, Le forum,

Je ne comprends pas bien : si A contient le 'nom' de la quantité et B la valeur de la quantité, comment peux-tu faire :

A * B ???

Pourrais-tu être plus explicite dans ta demande ?

Amicalement
Charly
 

Charly2

Nous a quittés en 2006
Repose en paix
Re-re ;-)

Je pense que quand tu parles de A et B, tu veux dire 'titre' des colonnes, n'est-ce pas ?

Les données qui sont sous la ligne au-dessous correspondent à autre chose : par exemple, valeur de la quantité se trouve en colonne B (titre) et les valeurs en dessous : c'est bien ça ?

Si c'est correct, à quoi correspond 'Nom de la quantité' ???

Amicalement
Charly
 

Hervé

XLDnaute Barbatruc
Bonsoir David, charly, le forum

Pas sur d'avoir compris moi aussi.

Mais une idée tout de même. Passer par une collection.

En imaginant que tu n'es pas de doublons dans ta colonne nom:
Sub Bouton1_QuandClic()
Dim data As Collection
Dim c As Range

Set data = New Collection
For Each c In Range('a1:a' & Range('a65536').End(xlUp).Row)
data.Add CStr(c.Offset(0, 1)), CStr(c.Text)
Next c

MsgBox data('A') * data('B')
' donne 24
MsgBox data('ZZ')
' donne 8888

End Sub

Ce type de code va affecter un item (colonne B ) à une clé unique (colonne A).

ensuite il te suffit pour faire appel à la variable d'utiliser la clé, comme dans la macro.

Par contre, je me répète, si il y a des doublons dans la colonne A BUG.

salut

Message édité par: Hervé, à: 18/10/2005 00:04
 

David73

XLDnaute Nouveau
ma 1ere colonne contient tous mes noms de quantites (sans doublons) et la 2eme colonne contient les valeurs de ces variables ....


L'idee de la collection me va tres bien ; c'est juste dommage que je doive appeler : Data('A') et pas directement A

Je comprends pas , je joins mon fichier mais il ne part pas ...
 

Hervé

XLDnaute Barbatruc
re

d'accord avec toi pour le data, mais il faut quand meme bien qu'on dise à la macro de quoi il s'agit.

Une autre idée, en attendant peut etre une soluce de pro :

utiliser les plages nommées, plus lourd, moins rapide, mais peut etre moins de frappe :

Sub Bouton2_QuandClic()
Dim c As Range


For Each c In Range('b1:b' & Range('b65536').End(xlUp).Row)
    c.Name = c.Offset(0, -1).Text & 'toto'
Next c

MsgBox [Atoto] * [Btoto]
End Sub


j'ai rajouté toto, car on ne peut pas nommer une cellule avec un terme réservé à excel A,B, C font référence aux colonnes.

salut
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour David, Hervé, le forum,

David, je te renvoie ton fichier. J'ai nommé les cellules (sauf le nom 'L' quand j'ai transformé en '_L'), et dans ta macro, tu n'as plus qu'à faire comme l'indiquait Hervé :
Code:
res = [A] * [B] + [_L]

Je ne vois pas d'autre solution qui puisse s'approcher plus de ta demande...

Amicalement
Lionel [file name=TestDavid73.zip size=6494]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TestDavid73.zip[/file]
 

Pièces jointes

  • TestDavid73.zip
    6.3 KB · Affichages: 21

Discussions similaires

Réponses
3
Affichages
303

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 535
dernier inscrit
moimeme1