compter les valeurs contenues dans les cellules

afchartier

XLDnaute Junior
Bonjour le forum!

j'espère que vous tous, amis lecteurs, amateurs, passionnés et savants, allez bien! et peut-être prendrez vous un peu de votre temps pour m'éclairer.

j'ai une base de donnée et je voudrais faire des sommes, mais cela me pose des soucis.
les données à calculer sont dans les colonnes AN , BE , BU.
et il faut faire référence à la colonne A pour savoir jusqu'où compter.

Le souci que me pose ce code est qu'il fonctionne pour la première colonne, mais pas pour les suivantes, il me trouve "0" alors qu'il y a des valeurs dedans.


Code:
Private Sub CommandButton1_Click()
Dim I As Integer
Dim nbcel As Integer
Dim cel As Object
I = Range("A5").End(xlDown).Row
nbcel = 0
For Each cel In Range("AN5:AN" & I)
If cel <> "" Then
nbcel = nbcel + cells(I, 40)
End If
Next cel
TextBox8.Value = nbcel
nbcel = 0
Call calc2
End Sub
Private Sub calc2()
Dim I As Integer
Dim nbcel1 As Integer
Dim cel As Object
I = Range("A5").End(xlDown).Row
For Each cel In Range("BE6:BE" & I)
If cel <> "" Then
nbcel = nbcel + cells(I, 57)
End If
Next cel
TextBox9.Value = nbcel
nbcel1 = 0
Call calc3
End Sub

Private Sub calc3()
Dim I As Integer
Dim nbcel As Integer
Dim cel As Object
I = Range("A5").End(xlDown).Row
For Each cel In Range("BU5:BU" & I)
If cel <> "" Then
nbcel = nbcel + cells(I, 73)
End If
Next cel
TextBox10.Value = nbcel
nbcel = 0
End Sub

Merci d'avance à tous.

a+

Alain
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : compter les valeurs contenues dans les cellules

Bonjour Alain-François, bonjour le forum,

Ta macro modifié (non testée...) :
Code:
Private Sub CommandButton1_Click()
Dim I As Integer
Dim nbcel As Integer
Dim cel As Range
Dim x As Byte
Dim col As Byte
Dim li As Integer
 
I = Range("A5").End(xlDown).Row
 
For x = 1 To 3
    Select Case x
    Case 1
        col = 40
        li = 5
    Case 2
        col = 57
        li = 6
    Case 3
        col = 73
        li = 5
    End Select
 
    nbcel = 0
 
    For Each cel In Range(cel(li, col), cel(I, col))
        If cel <> "" Then
            nbcel = nbcel + cel.Value
        End If
    Next cel
 
    Me.Controls("TextBox" & 7 + x).Value = nbcel
 
Next x
 
End Sub
 
Dernière édition:

afchartier

XLDnaute Junior
Re : compter les valeurs contenues dans les cellules

Bonjour Robert et merci,


Mais ton code bloque au niveau de du second "For"
Code:
For each cel In Range(cel(li, col), cel(I, col))"
"

il me dit :

Erreur d'execution '91' :

Variable objet ou variable de bloc With non définie


:( :( :( :( :( :( :( :( :(
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : compter les valeurs contenues dans les cellules

Bonjour Alain-François, bonjour le forum,

Oui désolé corrige la seconde boucle remplace la ligne :

Code:
For Each cel In Range(Cel[COLOR=red]ls[/COLOR](li, col), Cel[COLOR=red]ls[/COLOR](I, col))
 

afchartier

XLDnaute Junior
Re : compter les valeurs contenues dans les cellules

bon, c'est pas grave, j'ai trouver un système pour le faire, je dois l'appliquer à 56 userform et donc 56 colonnes, mais ça fonctionne bien.

Code:
Private Sub CommandButton1_Click()
Dim Formule As String
Formule = "=Sum(AN5:AN65536)"
Range("AN2").Value = Formule
TextBox8.Value = Range("AN2").Value
Range("AN2").ClearContents
Call calc2

End Sub
Private Sub calc2()
Dim Formule As String
Formule = "=Sum(BE5:BE65536)"
Range("BE2").Value = Formule
TextBox9.Value = Range("BE2").Value
Range("BE2").ClearContents
Call calc3
End Sub

Private Sub calc3()
Dim Formule As String
Formule = "=Sum(BU5:BU65536)"
Range("BU2").Value = Formule
TextBox10.Value = Range("BU2").Value
Range("BU2").ClearContents
Call calc4
End Sub

Private Sub calc4()
Dim Formule As String
Formule = "=Sum(CR5:CR65536)"
Range("CR2").Value = Formule
TextBox11.Value = Range("CR2").Value
Range("CR2").ClearContents

End Sub

merci quand meme

a+

Alain
 

Discussions similaires

Réponses
1
Affichages
264
Réponses
2
Affichages
172
Réponses
6
Affichages
281

Statistiques des forums

Discussions
312 432
Messages
2 088 370
Membres
103 835
dernier inscrit
Jaco24