plage de cellule sur selection

Le
Menibelus
Bonjour,

J'aimerai savoir s'il est possible de connaitre la somme d'une plage
contenant des lettres qui elle-même ont une valeur mais ceci en
selectionnant la plage avec la souris
C'est à dire si je selectionne les cellule A1 à A12 qui contienne dfes
valeurs comme G, J, A ou rien dans certaines cellule que je puisse
savoir la somme car un G vaut 12, un J vaut 3, ou encore un A vaut 5

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #18305571
Bonne année 2009

Ceci peut-être
"--------------
Sub jj()
On Error Resume Next
Set plage = Application.InputBox("Sélectionner la plage à traiter",
"Sélection", Type:=8)
MsgBox Application.CountIf(plage, "g") * 12 _
+ Application.CountIf(plage, "j") * 3 _
+ Application.CountIf(plage, "a") * 5
End Sub
'-----------------
Sans Vba et une plage nommée "plage"
=NB.SI(plage;"G")*12+NB.SI(plage;"j")*3+NB.SI(plage;"a")*5
--
Salutations
JJ


"Menibelus"
Bonjour,

J'aimerai savoir s'il est possible de connaitre la somme d'une plage
contenant des lettres qui elle-même ont une valeur mais ceci en
selectionnant la plage avec la souris
C'est à dire si je selectionne les cellule A1 à A12 qui contienne dfes
valeurs comme G, J, A ou rien dans certaines cellule que je puisse
savoir la somme car un G vaut 12, un J vaut 3, ou encore un A vaut 5

Merci
garnote
Le #18309831
Bonsoir,

Un exemple qui semble convenir à ta demande:
J'ai entré les lettres de a à z dans la plage A1:A26
et les valeurs correspondantes dans la plage B1:B26.
Tu sélectionnes alors une plage contenant des lettres
et tu appelle une des deux macros suivantes.
La première fait la distinction entre minuscules
et majuscules et la deuxième, non.


Sub Compte_Valeurs_Lettres1()
Dim t1, t2
Dim L
t1 = [A1:A26]
t2 = [B1:B26]
For Each L In Selection
For i = 1 To 26
If L = t1(i, 1) Then
s = s + t2(i, 1)
Exit For
End If
Next i
Next L
MsgBox s
End Sub

Sub Compte_Valeurs_Lettres2()
Dim t1, t2
Dim L
t1 = [A1:A26]
t2 = [B1:B26]
For Each L In Selection
For i = 1 To 26
If UCase(L) = UCase(t1(i, 1)) Then
s = s + t2(i, 1)
Exit For
End If
Next i
Next L
MsgBox s
End Sub


Serge





"Menibelus"
Bonjour,

J'aimerai savoir s'il est possible de connaitre la somme d'une plage
contenant des lettres qui elle-même ont une valeur mais ceci en
selectionnant la plage avec la souris
C'est à dire si je selectionne les cellule A1 à A12 qui contienne dfes
valeurs comme G, J, A ou rien dans certaines cellule que je puisse
savoir la somme car un G vaut 12, un J vaut 3, ou encore un A vaut 5

Merci
Publicité
Poster une réponse
Anonyme