VBA EXCEL - Max liste
Fermé
Cha69
Messages postés
32
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
16 mai 2009
-
29 avril 2009 à 10:43
Cha69 Messages postés 32 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 16 mai 2009 - 30 avril 2009 à 12:00
Cha69 Messages postés 32 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 16 mai 2009 - 30 avril 2009 à 12:00
A voir également:
- VBA EXCEL - Max liste
- Liste déroulante excel - Guide
- Excel liste déroulante en cascade - Guide
- I14 pro max - Accueil - Guide téléphones
- Si et excel - Guide
- Aller à la ligne excel - Guide
11 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
29 avril 2009 à 11:58
29 avril 2009 à 11:58
Re,
</code>
décidément, on se voit souvent!... je me suis basé sur "salade"; à toi de créer la variable correspondante macro à adapter <code>Sub trouver_max1er2() 'liste en colonne A, valeurs en colonne B 'col_A correspond à la zone en colonne A Dim tablo() ReDim tablo(0) terme = "salade" nbre = Application.CountIf(Range("col_A"), terme) If nbre > 2 Then 'collecte les valeurs de "salade" dep = "A65536" For cptr = 0 To nbre - 1 lig = Columns(1).Find(terme, Range(dep)).Row tablo(cptr) = Cells(lig, 2) ReDim Preserve tablo(cptr + 1) dep = Cells(lig, 1).Address Next 'trie le tablo en décroissant For i = 0 To nbre - 1 j = i For k = j + 1 To nbre If tablo(k) >= tablo(j) Then j = k Next k If i <> j Then tmp = tablo(j) tablo(j) = tablo(i) tablo(i) = tmp End If Next i 'renvoie les 2 valeurs les + hautes maxi_1 = tablo(0) maxi_2 = tablo(1) End If End Sub
</code>
Cha69
Messages postés
32
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
16 mai 2009
4
29 avril 2009 à 14:51
29 avril 2009 à 14:51
Merci encore Michel, je suis en train de récomposer le code pr le comprendre, ms que veut dire <>? vous vous en etes servi pour trier le tableau en terme décroissant
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
29 avril 2009 à 16:43
29 avril 2009 à 16:43
Pour piger, utilise les espions dans VBE
tu sélectionne une variable (tablo,i,j, k...)
et débogage_ajouter un espion
et avance en pas à pas avec F8
le" tri à bulles " est loin d'être évident à assimiler
tu sélectionne une variable (tablo,i,j, k...)
et débogage_ajouter un espion
et avance en pas à pas avec F8
le" tri à bulles " est loin d'être évident à assimiler
Cha69
Messages postés
32
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
16 mai 2009
4
29 avril 2009 à 16:48
29 avril 2009 à 16:48
espion = add watch??
j'ai la version anglaise et je ne comprends pas tt,
j'ai encore un probleme, mon calcul ne se fait pas !!
Function Conso_jour(numero_colonne, numero_ligne_1ere_operation, numero_ligne_dernière_operation, NbNEP As Integer, utilite As String)
' Déclaration des variables
Dim somme As Integer
Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim compteur As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim p As Integer
Dim tableau()
ReDim tableau(0)
terme = "NEP"
nb = Application.CountIf(Range("E4:E51"), terme)
somme = 0
a = 0
' Boucle de calculs
For i = numero_ligne_1ere_operation To numero_ligne_dernière_operation Step 3
If Application.CountIf(Range("ListeOp"), Cells(i, numero_colonne)) = 0 Or Application.CountIf(Range("ListeEqt"), Cells(i + 1, 1)) = 0 Then
a = 0
ElseIf Application.CountIf(Range(NEP), Cells(i, numero_colonne)) = 0 Or nb <= NbNEP Then
a = Debit_Puissance(Cells(i, numero_colonne), Cells(i + 1, 1), utilite)
Else: a = 0
End If
somme = somme + a
a = 0
Next
If nb > NbNEP Then
dep = A65536
For compteur = 0 To nb - 1
Ligne = Columns(numero_colonne).Find(terme, Range(dep)).Row
tableau(compteur) = Cells(Ligne, Debit_Puissance(Cells(Ligne, numero_colonne), Cells(Ligne + 1, numero_colonne), utilite))
ReDim Preserve tableau(compteur + 1)
dep = Cells(Ligne, numero_colonne).Address
Next
For l = 0 To nb - 1
j = l
For k = j + 1 To nb
If tableau(k) >= tableau(j) Then
j = k
End If
Next k
If l <> j Then
tmp = tableau(j)
tableau(j) = tableau(l)
tableau(l) = tmp
End If
Next l
For p = 0 To NbNEP - 1
b = b + tableau(l)
Next
End If
somme = somme + b
Conso_jour = somme
End Function
j'ai la version anglaise et je ne comprends pas tt,
j'ai encore un probleme, mon calcul ne se fait pas !!
Function Conso_jour(numero_colonne, numero_ligne_1ere_operation, numero_ligne_dernière_operation, NbNEP As Integer, utilite As String)
' Déclaration des variables
Dim somme As Integer
Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim compteur As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim p As Integer
Dim tableau()
ReDim tableau(0)
terme = "NEP"
nb = Application.CountIf(Range("E4:E51"), terme)
somme = 0
a = 0
' Boucle de calculs
For i = numero_ligne_1ere_operation To numero_ligne_dernière_operation Step 3
If Application.CountIf(Range("ListeOp"), Cells(i, numero_colonne)) = 0 Or Application.CountIf(Range("ListeEqt"), Cells(i + 1, 1)) = 0 Then
a = 0
ElseIf Application.CountIf(Range(NEP), Cells(i, numero_colonne)) = 0 Or nb <= NbNEP Then
a = Debit_Puissance(Cells(i, numero_colonne), Cells(i + 1, 1), utilite)
Else: a = 0
End If
somme = somme + a
a = 0
Next
If nb > NbNEP Then
dep = A65536
For compteur = 0 To nb - 1
Ligne = Columns(numero_colonne).Find(terme, Range(dep)).Row
tableau(compteur) = Cells(Ligne, Debit_Puissance(Cells(Ligne, numero_colonne), Cells(Ligne + 1, numero_colonne), utilite))
ReDim Preserve tableau(compteur + 1)
dep = Cells(Ligne, numero_colonne).Address
Next
For l = 0 To nb - 1
j = l
For k = j + 1 To nb
If tableau(k) >= tableau(j) Then
j = k
End If
Next k
If l <> j Then
tmp = tableau(j)
tableau(j) = tableau(l)
tableau(l) = tmp
End If
Next l
For p = 0 To NbNEP - 1
b = b + tableau(l)
Next
End If
somme = somme + b
Conso_jour = somme
End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Cha69
Messages postés
32
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
16 mai 2009
4
29 avril 2009 à 16:48
29 avril 2009 à 16:48
espion = add watch??
j'ai la version anglaise et je ne comprends pas tt,
j'ai encore un probleme, mon calcul ne se fait pas !!
Function Conso_jour(numero_colonne, numero_ligne_1ere_operation, numero_ligne_dernière_operation, NbNEP As Integer, utilite As String)
' Déclaration des variables
Dim somme As Integer
Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim compteur As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim p As Integer
Dim tableau()
ReDim tableau(0)
terme = "NEP"
nb = Application.CountIf(Range("E4:E51"), terme)
somme = 0
a = 0
' Boucle de calculs
For i = numero_ligne_1ere_operation To numero_ligne_dernière_operation Step 3
If Application.CountIf(Range("ListeOp"), Cells(i, numero_colonne)) = 0 Or Application.CountIf(Range("ListeEqt"), Cells(i + 1, 1)) = 0 Then
a = 0
ElseIf Application.CountIf(Range(NEP), Cells(i, numero_colonne)) = 0 Or nb <= NbNEP Then
a = Debit_Puissance(Cells(i, numero_colonne), Cells(i + 1, 1), utilite)
Else: a = 0
End If
somme = somme + a
a = 0
Next
If nb > NbNEP Then
dep = A65536
For compteur = 0 To nb - 1
Ligne = Columns(numero_colonne).Find(terme, Range(dep)).Row
tableau(compteur) = Cells(Ligne, Debit_Puissance(Cells(Ligne, numero_colonne), Cells(Ligne + 1, numero_colonne), utilite))
ReDim Preserve tableau(compteur + 1)
dep = Cells(Ligne, numero_colonne).Address
Next
For l = 0 To nb - 1
j = l
For k = j + 1 To nb
If tableau(k) >= tableau(j) Then
j = k
End If
Next k
If l <> j Then
tmp = tableau(j)
tableau(j) = tableau(l)
tableau(l) = tmp
End If
Next l
For p = 0 To NbNEP - 1
b = b + tableau(l)
Next
End If
somme = somme + b
Conso_jour = somme
End Function
j'ai la version anglaise et je ne comprends pas tt,
j'ai encore un probleme, mon calcul ne se fait pas !!
Function Conso_jour(numero_colonne, numero_ligne_1ere_operation, numero_ligne_dernière_operation, NbNEP As Integer, utilite As String)
' Déclaration des variables
Dim somme As Integer
Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim compteur As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim p As Integer
Dim tableau()
ReDim tableau(0)
terme = "NEP"
nb = Application.CountIf(Range("E4:E51"), terme)
somme = 0
a = 0
' Boucle de calculs
For i = numero_ligne_1ere_operation To numero_ligne_dernière_operation Step 3
If Application.CountIf(Range("ListeOp"), Cells(i, numero_colonne)) = 0 Or Application.CountIf(Range("ListeEqt"), Cells(i + 1, 1)) = 0 Then
a = 0
ElseIf Application.CountIf(Range(NEP), Cells(i, numero_colonne)) = 0 Or nb <= NbNEP Then
a = Debit_Puissance(Cells(i, numero_colonne), Cells(i + 1, 1), utilite)
Else: a = 0
End If
somme = somme + a
a = 0
Next
If nb > NbNEP Then
dep = A65536
For compteur = 0 To nb - 1
Ligne = Columns(numero_colonne).Find(terme, Range(dep)).Row
tableau(compteur) = Cells(Ligne, Debit_Puissance(Cells(Ligne, numero_colonne), Cells(Ligne + 1, numero_colonne), utilite))
ReDim Preserve tableau(compteur + 1)
dep = Cells(Ligne, numero_colonne).Address
Next
For l = 0 To nb - 1
j = l
For k = j + 1 To nb
If tableau(k) >= tableau(j) Then
j = k
End If
Next k
If l <> j Then
tmp = tableau(j)
tableau(j) = tableau(l)
tableau(l) = tmp
End If
Next l
For p = 0 To NbNEP - 1
b = b + tableau(l)
Next
End If
somme = somme + b
Conso_jour = somme
End Function
Cha69
Messages postés
32
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
16 mai 2009
4
29 avril 2009 à 16:48
29 avril 2009 à 16:48
espion = add watch??
j'ai la version anglaise et je ne comprends pas tt,
j'ai encore un probleme, mon calcul ne se fait pas !!
Function Conso_jour(numero_colonne, numero_ligne_1ere_operation, numero_ligne_dernière_operation, NbNEP As Integer, utilite As String)
' Déclaration des variables
Dim somme As Integer
Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim compteur As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim p As Integer
Dim tableau()
ReDim tableau(0)
terme = "NEP"
nb = Application.CountIf(Range("E4:E51"), terme)
somme = 0
a = 0
' Boucle de calculs
For i = numero_ligne_1ere_operation To numero_ligne_dernière_operation Step 3
If Application.CountIf(Range("ListeOp"), Cells(i, numero_colonne)) = 0 Or Application.CountIf(Range("ListeEqt"), Cells(i + 1, 1)) = 0 Then
a = 0
ElseIf Application.CountIf(Range(NEP), Cells(i, numero_colonne)) = 0 Or nb <= NbNEP Then
a = Debit_Puissance(Cells(i, numero_colonne), Cells(i + 1, 1), utilite)
Else: a = 0
End If
somme = somme + a
a = 0
Next
If nb > NbNEP Then
dep = A65536
For compteur = 0 To nb - 1
Ligne = Columns(numero_colonne).Find(terme, Range(dep)).Row
tableau(compteur) = Cells(Ligne, Debit_Puissance(Cells(Ligne, numero_colonne), Cells(Ligne + 1, numero_colonne), utilite))
ReDim Preserve tableau(compteur + 1)
dep = Cells(Ligne, numero_colonne).Address
Next
For l = 0 To nb - 1
j = l
For k = j + 1 To nb
If tableau(k) >= tableau(j) Then
j = k
End If
Next k
If l <> j Then
tmp = tableau(j)
tableau(j) = tableau(l)
tableau(l) = tmp
End If
Next l
For p = 0 To NbNEP - 1
b = b + tableau(l)
Next
End If
somme = somme + b
Conso_jour = somme
End Function
j'ai la version anglaise et je ne comprends pas tt,
j'ai encore un probleme, mon calcul ne se fait pas !!
Function Conso_jour(numero_colonne, numero_ligne_1ere_operation, numero_ligne_dernière_operation, NbNEP As Integer, utilite As String)
' Déclaration des variables
Dim somme As Integer
Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim compteur As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim p As Integer
Dim tableau()
ReDim tableau(0)
terme = "NEP"
nb = Application.CountIf(Range("E4:E51"), terme)
somme = 0
a = 0
' Boucle de calculs
For i = numero_ligne_1ere_operation To numero_ligne_dernière_operation Step 3
If Application.CountIf(Range("ListeOp"), Cells(i, numero_colonne)) = 0 Or Application.CountIf(Range("ListeEqt"), Cells(i + 1, 1)) = 0 Then
a = 0
ElseIf Application.CountIf(Range(NEP), Cells(i, numero_colonne)) = 0 Or nb <= NbNEP Then
a = Debit_Puissance(Cells(i, numero_colonne), Cells(i + 1, 1), utilite)
Else: a = 0
End If
somme = somme + a
a = 0
Next
If nb > NbNEP Then
dep = A65536
For compteur = 0 To nb - 1
Ligne = Columns(numero_colonne).Find(terme, Range(dep)).Row
tableau(compteur) = Cells(Ligne, Debit_Puissance(Cells(Ligne, numero_colonne), Cells(Ligne + 1, numero_colonne), utilite))
ReDim Preserve tableau(compteur + 1)
dep = Cells(Ligne, numero_colonne).Address
Next
For l = 0 To nb - 1
j = l
For k = j + 1 To nb
If tableau(k) >= tableau(j) Then
j = k
End If
Next k
If l <> j Then
tmp = tableau(j)
tableau(j) = tableau(l)
tableau(l) = tmp
End If
Next l
For p = 0 To NbNEP - 1
b = b + tableau(l)
Next
End If
somme = somme + b
Conso_jour = somme
End Function
Cha69
Messages postés
32
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
16 mai 2009
4
29 avril 2009 à 16:48
29 avril 2009 à 16:48
espion = add watch??
j'ai la version anglaise et je ne comprends pas tt,
j'ai encore un probleme, mon calcul ne se fait pas !!
Function Conso_jour(numero_colonne, numero_ligne_1ere_operation, numero_ligne_dernière_operation, NbNEP As Integer, utilite As String)
' Déclaration des variables
Dim somme As Integer
Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim compteur As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim p As Integer
Dim tableau()
ReDim tableau(0)
terme = "NEP"
nb = Application.CountIf(Range("E4:E51"), terme)
somme = 0
a = 0
' Boucle de calculs
For i = numero_ligne_1ere_operation To numero_ligne_dernière_operation Step 3
If Application.CountIf(Range("ListeOp"), Cells(i, numero_colonne)) = 0 Or Application.CountIf(Range("ListeEqt"), Cells(i + 1, 1)) = 0 Then
a = 0
ElseIf Application.CountIf(Range(NEP), Cells(i, numero_colonne)) = 0 Or nb <= NbNEP Then
a = Debit_Puissance(Cells(i, numero_colonne), Cells(i + 1, 1), utilite)
Else: a = 0
End If
somme = somme + a
a = 0
Next
If nb > NbNEP Then
dep = A65536
For compteur = 0 To nb - 1
Ligne = Columns(numero_colonne).Find(terme, Range(dep)).Row
tableau(compteur) = Cells(Ligne, Debit_Puissance(Cells(Ligne, numero_colonne), Cells(Ligne + 1, numero_colonne), utilite))
ReDim Preserve tableau(compteur + 1)
dep = Cells(Ligne, numero_colonne).Address
Next
For l = 0 To nb - 1
j = l
For k = j + 1 To nb
If tableau(k) >= tableau(j) Then
j = k
End If
Next k
If l <> j Then
tmp = tableau(j)
tableau(j) = tableau(l)
tableau(l) = tmp
End If
Next l
For p = 0 To NbNEP - 1
b = b + tableau(l)
Next
End If
somme = somme + b
Conso_jour = somme
End Function
j'ai la version anglaise et je ne comprends pas tt,
j'ai encore un probleme, mon calcul ne se fait pas !!
Function Conso_jour(numero_colonne, numero_ligne_1ere_operation, numero_ligne_dernière_operation, NbNEP As Integer, utilite As String)
' Déclaration des variables
Dim somme As Integer
Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim compteur As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim p As Integer
Dim tableau()
ReDim tableau(0)
terme = "NEP"
nb = Application.CountIf(Range("E4:E51"), terme)
somme = 0
a = 0
' Boucle de calculs
For i = numero_ligne_1ere_operation To numero_ligne_dernière_operation Step 3
If Application.CountIf(Range("ListeOp"), Cells(i, numero_colonne)) = 0 Or Application.CountIf(Range("ListeEqt"), Cells(i + 1, 1)) = 0 Then
a = 0
ElseIf Application.CountIf(Range(NEP), Cells(i, numero_colonne)) = 0 Or nb <= NbNEP Then
a = Debit_Puissance(Cells(i, numero_colonne), Cells(i + 1, 1), utilite)
Else: a = 0
End If
somme = somme + a
a = 0
Next
If nb > NbNEP Then
dep = A65536
For compteur = 0 To nb - 1
Ligne = Columns(numero_colonne).Find(terme, Range(dep)).Row
tableau(compteur) = Cells(Ligne, Debit_Puissance(Cells(Ligne, numero_colonne), Cells(Ligne + 1, numero_colonne), utilite))
ReDim Preserve tableau(compteur + 1)
dep = Cells(Ligne, numero_colonne).Address
Next
For l = 0 To nb - 1
j = l
For k = j + 1 To nb
If tableau(k) >= tableau(j) Then
j = k
End If
Next k
If l <> j Then
tmp = tableau(j)
tableau(j) = tableau(l)
tableau(l) = tmp
End If
Next l
For p = 0 To NbNEP - 1
b = b + tableau(l)
Next
End If
somme = somme + b
Conso_jour = somme
End Function
Cha69
Messages postés
32
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
16 mai 2009
4
29 avril 2009 à 16:48
29 avril 2009 à 16:48
espion = add watch??
j'ai la version anglaise et je ne comprends pas tt,
j'ai encore un probleme, mon calcul ne se fait pas !! J'ai fait qq modif pour l'insérer dans la fonction,
la fonction renvoie la bonne valeur lorsque la colonne est vide!!
je déprime !
code:
Function Conso_jour(numero_colonne, numero_ligne_1ere_operation, numero_ligne_dernière_operation, NbNEP As Integer, utilite As String)
' Déclaration des variables
Dim somme As Integer
Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim compteur As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim p As Integer
Dim tableau()
ReDim tableau(0)
terme = "NEP"
nb = Application.CountIf(Range("E4:E51"), terme)
somme = 0
a = 0
' Boucle de calculs
For i = numero_ligne_1ere_operation To numero_ligne_dernière_operation Step 3
If Application.CountIf(Range("ListeOp"), Cells(i, numero_colonne)) = 0 Or Application.CountIf(Range("ListeEqt"), Cells(i + 1, 1)) = 0 Then
a = 0
ElseIf Application.CountIf(Range(NEP), Cells(i, numero_colonne)) = 0 Or nb <= NbNEP Then
a = Debit_Puissance(Cells(i, numero_colonne), Cells(i + 1, 1), utilite)
Else: a = 0
End If
somme = somme + a
a = 0
Next
If nb > NbNEP Then
dep = A65536
For compteur = 0 To nb - 1
Ligne = Columns(numero_colonne).Find(terme, Range(dep)).Row
tableau(compteur) = Cells(Ligne, Debit_Puissance(Cells(Ligne, numero_colonne), Cells(Ligne + 1, numero_colonne), utilite))
ReDim Preserve tableau(compteur + 1)
dep = Cells(Ligne, numero_colonne).Address
Next
For l = 0 To nb - 1
j = l
For k = j + 1 To nb
If tableau(k) >= tableau(j) Then
j = k
End If
Next k
If l <> j Then
tmp = tableau(j)
tableau(j) = tableau(l)
tableau(l) = tmp
End If
Next l
For p = 0 To NbNEP - 1
b = b + tableau(l)
Next
End If
somme = somme + b
Conso_jour = somme
End Function
Voyez-vous l'erreur??
MERCI
j'ai la version anglaise et je ne comprends pas tt,
j'ai encore un probleme, mon calcul ne se fait pas !! J'ai fait qq modif pour l'insérer dans la fonction,
la fonction renvoie la bonne valeur lorsque la colonne est vide!!
je déprime !
code:
Function Conso_jour(numero_colonne, numero_ligne_1ere_operation, numero_ligne_dernière_operation, NbNEP As Integer, utilite As String)
' Déclaration des variables
Dim somme As Integer
Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim compteur As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim p As Integer
Dim tableau()
ReDim tableau(0)
terme = "NEP"
nb = Application.CountIf(Range("E4:E51"), terme)
somme = 0
a = 0
' Boucle de calculs
For i = numero_ligne_1ere_operation To numero_ligne_dernière_operation Step 3
If Application.CountIf(Range("ListeOp"), Cells(i, numero_colonne)) = 0 Or Application.CountIf(Range("ListeEqt"), Cells(i + 1, 1)) = 0 Then
a = 0
ElseIf Application.CountIf(Range(NEP), Cells(i, numero_colonne)) = 0 Or nb <= NbNEP Then
a = Debit_Puissance(Cells(i, numero_colonne), Cells(i + 1, 1), utilite)
Else: a = 0
End If
somme = somme + a
a = 0
Next
If nb > NbNEP Then
dep = A65536
For compteur = 0 To nb - 1
Ligne = Columns(numero_colonne).Find(terme, Range(dep)).Row
tableau(compteur) = Cells(Ligne, Debit_Puissance(Cells(Ligne, numero_colonne), Cells(Ligne + 1, numero_colonne), utilite))
ReDim Preserve tableau(compteur + 1)
dep = Cells(Ligne, numero_colonne).Address
Next
For l = 0 To nb - 1
j = l
For k = j + 1 To nb
If tableau(k) >= tableau(j) Then
j = k
End If
Next k
If l <> j Then
tmp = tableau(j)
tableau(j) = tableau(l)
tableau(l) = tmp
End If
Next l
For p = 0 To NbNEP - 1
b = b + tableau(l)
Next
End If
somme = somme + b
Conso_jour = somme
End Function
Voyez-vous l'erreur??
MERCI
Cha69
Messages postés
32
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
16 mai 2009
4
29 avril 2009 à 16:52
29 avril 2009 à 16:52
Désolée pr les répétitions, petit pb de connexion !!
Cha69
Messages postés
32
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
16 mai 2009
4
30 avril 2009 à 09:54
30 avril 2009 à 09:54
Pb résolu, j'ai trouvé mes erreurs, y'en avait pas mal !!
comme quoi la nuit porte conseil !
comme quoi la nuit porte conseil !
Cha69
Messages postés
32
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
16 mai 2009
4
30 avril 2009 à 12:00
30 avril 2009 à 12:00
J'ai cru que ça marchait, mais j'ai crié victoire trop vite !!!
je ne comprends pas ce que fait le code suivant:
dep="A65536"
For cptr = 0 To nbre - 1
lig = Columns(1).Find(terme, Range(dep)).Row
tablo(cptr) = Cells(lig, 2)
ReDim Preserve tablo(cptr + 1)
dep = Cells(lig, 1).Address
Next
qu'est ce que dep?
je ne vois pas où sont stockées les valeurs du tableau?
De plus, j'ai une colonne (disons 1) ou je cherche si le mot salade est écrit mais il n'y a pas de colonne 2 où il y a les valeurs, j'utilise une fonction.
pouvez-vous me réexpliquer le stockage ds le tableau, ce n'est pas clair pour moi !
MERCI BEAUCOUP
je ne comprends pas ce que fait le code suivant:
dep="A65536"
For cptr = 0 To nbre - 1
lig = Columns(1).Find(terme, Range(dep)).Row
tablo(cptr) = Cells(lig, 2)
ReDim Preserve tablo(cptr + 1)
dep = Cells(lig, 1).Address
Next
qu'est ce que dep?
je ne vois pas où sont stockées les valeurs du tableau?
De plus, j'ai une colonne (disons 1) ou je cherche si le mot salade est écrit mais il n'y a pas de colonne 2 où il y a les valeurs, j'utilise une fonction.
pouvez-vous me réexpliquer le stockage ds le tableau, ce n'est pas clair pour moi !
MERCI BEAUCOUP