VBA Utilisation de Cells

Bonjour à tous,

je suis face à un problème dans mon code que je ne parviens pas à résoudre bien que la simplicité de la chose soit déconcertante.

J'aimerais pouvoir attribuer une valeur à une cellule, mais j'aimerais pouvoir identifier cette cellule par son numéro de ligne et son numéro de colonne. Cells().Values = ne fonctionne pas et Cells() = ne fonctionne pas non plus. Je ne sais pas comment arriver à mes fins. Mon code est le suivant:

Sub Statistiques()
Dim C As Range
Dim COL As Byte
Dim k As Integer
Dim Feuille As Worksheet

Set Feuille = ActiveWorkbook.Worksheets("Synthèse")
Set C = Feuille.Range("A1:AQ23").Find("Complétude des actions", , xlValues, xlWhole)
k = 0

If Not C Is Nothing Then COL = C.Column

    For i = 3 To i = 19

        If Feuille.Cells(i, COL) = "0" Then
        k = k + 1
        End If

    Next

Feuille.Cells(22, COL) = k

k = 0

    For i = 3 To i = 19

        If Feuille.Cells(i, COL) = "1" Then
        k = k + 1
        End If

    Next

Feuille.Cells(23, COL) = k

k = 0

    For i = 3 To i = 19

        If Feuille.Cells(i, COL) = "2" Then
        k = k + 1
        End If

    Next

Feuille.Cells(24, COL) = k

End Sub

Les trois boucles For seront regroupées en une ensuite à l'aide d'une seule boucle, mais le problème auquel je m'intéresse ici est ce problème avec Cells(). Je ne pense pas pouvoir utiliser Range puisque j'identifie la colonne par un numéro et non par une lettre comme la convention l'oblige avec Range.

Par ailleurs, si je mets les valeurs 0, 1 et 2 entre "" c'est parce que dans les cellules en question, les valeurs 0, 1 et 2 sont renseignées sans le signe =.

Peut-on me filer un coup de main ?

Merci,

SkillzZ

Bonjour,

Je ne comprends pas votre problème

Feuille.Cells(22, COL)

représente par défaut

Feuille.Cells(22, COL).value

, ce qui correspond bien à la valeur de la cellule située en ligne 22 et à la colonne COL pour la feuille "Feuille"

.

SkillzZ a écrit :

Par ailleurs, si je mets les valeurs 0, 1 et 2 entre "" c'est parce que dans les cellules en question, les valeurs 0, 1 et 2 sont renseignées sans le signe =.

Attention. Ce n'est pas parce qu'il n'y a pas de signe qu'il ne s'agit pas de valeurs numériques. Votre test correspond à des chiffres au format texte.

Bonjour, Salut Thev !

L'initialisation de boucle se fait :

    For i = 3 To 19

Le cadrage dans une cellule (hors alignement personnalisé) :

à droite, indique qu'il s'agit de nombre

à gauche, qu'il s'agit de texte.

Cordialement.

J'avais mal identifié mon problème. MFerrand avait raison, la répétition du "i=" était la cause du souci qui empêchait mon code de fonctionner comme je le souhaitais. Je vous remercie tous les deux pour les réponses apportées et vous souhaite une bonne après-midi!

SkillzZ

Rechercher des sujets similaires à "vba utilisation"