Mon premier programme sous visual basic - identification des cellules

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 !

elgringo123456

XLDnaute Occasionnel
Supporter XLD
Bonjour,

Sous visual basic, je sais qu'il est possible d'utiliser la ligne :
Cells(X, Y) pour identifier une cellule.

Je chercherai à saisir dans un programme visual basic avec la fonction NB.SI sur des cellules. Le problème est au niveau des paramètres de la fonction NB.SI.
En effet, il est nécessaire de saisir A1 et je souhaiterais utiliser plutôt une identification du type (1,1).

Exemple du programme :
For I = 2 To 10
Cells(I, 10).Select
Cells(I, 10).Value = "=NB.SI(A1:A20;A1)"
Next G

Dans ce programme je souhaiterais identifier les cellules dans la fonction NB.SI
"A1:A20;A1" par
"(1,1)🙁1,20);(1,1)"

Est-ce possible ?

Je ne vous cache pas mon niveau d'ultra novice en la matière.

Merci d'avance de votre aide sur le sujet et m'excuse par avance de ce problème éventuellement déja posé (je ne suis pas arrivé à trouver cette discussion sur le forum).😕
 
Re : Mon premier programme sous visual basic - identification des cellules

Bonsoir,

voici un exemple:

dans la cellule A1: =NB.SI(B1:B6;C1)
donne en VBA:
Code:
 Range("A1").Formula = "=COUNTIF(" & Cells(1, 2).Address(0, 0) & ":" & Cells(6, 2).Address(0, 0) & "," & Cells(1, 3).Address(0, 0) & ")"
 
Re : Mon premier programme sous visual basic - identification des cellules

Bonsoir elgringo123456, le Forum,

Tout d'abord, "For I =..." et "Next G" sera déjà à corriger.

Ensuite, tant qu'à commencer avec VBA, autant commencer bien : les .Select de cellules et plages sont généralement inutiles avec VBA. Tu peux très bien agir sur une cellule sans avoir à la sélectionner (tu peux donc supprimer ton "Cells(I, 10).Select" qui ne sert à rien ici).

Pour la suite, tout dépend de ce que tu veux voir apparaitre dans tes cellules J2 à J10 :
  • Veux-tu y voir des formules NB.SI() avec leur résultat affiché ?
Code:
[COLOR=NAVY]Sub[/COLOR] test()
[COLOR=NAVY]Dim[/COLOR] I [COLOR=NAVY]As Byte[/COLOR]
[COLOR=NAVY] Dim[/COLOR] AdrPlage [COLOR=NAVY]As String[/COLOR]
    AdrPlage = Range(Cells(1, 1), Cells(20, 1)).Address
    [COLOR=NAVY]For[/COLOR] I = 2 [COLOR=NAVY]To[/COLOR] 10
        Cells(I, 10).FormulaLocal = "=NB.SI(" & AdrPlage & ";" & Cells(1, 1).Address & ")"
    [COLOR=NAVY]Next[/COLOR] I
[COLOR=NAVY]End Sub[/COLOR]
  • Ou bien, veux-tu y voir simplement les résultats (sans qu'il y ait de formule dans les cellules) ?
Code:
[COLOR=NAVY]Sub[/COLOR] test()
[COLOR=NAVY]Dim[/COLOR] I As Byte
    [COLOR=NAVY]For[/COLOR] I = 2 [COLOR=NAVY]To[/COLOR] 10
        Cells(I, 10).Value = Application.CountIf(Range(Cells(1, 1), Cells(20, 1)), Cells(1, 1))
    [COLOR=NAVY]Next[/COLOR] I
[COLOR=NAVY]End Sub[/COLOR]
Attention toutefois à la déclaration de variable I : je l'ai fait "As Byte" car tu t'arrêtes à 10, mais attention si tu vas au-delà....

Cordialement,

EDITION :
Oups, pardon Skoobi, je ne t'avais pas vu...
 
- 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

Discussions similaires

S
Réponses
4
Affichages
2 K
stage_ferrit
S
M
Réponses
16
Affichages
2 K
Manu40300
M
D
Réponses
3
Affichages
1 K
D
Réponses
2
Affichages
1 K
V
Réponses
4
Affichages
2 K
VBdébutant
V
B
Réponses
8
Affichages
1 K
bibiphoqie
B
Retour