Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

plage de cellule sur selection

2 réponses
Avatar
Menibelus
Bonjour,

J'aimerai savoir s'il est possible de connaitre la somme d'une plage
contenant des lettres qui elle-m=EAme ont une valeur mais ceci en
selectionnant la plage avec la souris
C'est =E0 dire si je selectionne les cellule A1 =E0 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

2 réponses

Avatar
Jacky
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" a écrit dans le message de news:

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
Avatar
garnote
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" a écrit dans le message de news:

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