Rentrer valeur dans un Tableau

Résolu
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour tout le monde,


Voici la macro :
Sub RenterValeursDansTableau()
Dim ab As Double
For ab = Cells(65536, 1).End(xlUp).Row To 1 Step -1
    If Cells(ab,4).Value = "1)" Then 
Cells(ab,4).row
    
    ....



End Sub


J'aimerai rentrer les -> Cells(ab,4).row dans un tableau.
Puis pendant qu'on y est ^^ comment on fait si je veux extraire la 2ieme donnée du tableau



Voila MErci d'avance
j'espére avoir été assez clair !
@+ le forum !
; )
A voir également:

12 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
bonjour,
tu tape Utilisation des tableaux dans ton aide et tu aurras tout les renseignement possibles sur les tableaux.
A+
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Rebonjour,

OK MERCI lermite 222!
Jvais prendre mon temps pour regarder tous ca !



Allez @++
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
RE

Voici un exemple de macro que j'ai réalisé :
Sub RenterValeursDansTableau()
Dim ab As Integer
Dim tableau(2) As Integer
Dim i As Integer
Dim nonvide As Integer

i=1
nonvide = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
For ab = nonvide To 1 Step -1
    If Cells(ab, 3).Value = "a" Then
    Cells(ab, 3).Select
    Cells(ab, 3).Row = tableau(i)
    i = i + 1
    End If
    
Next ab
MsgBox tableau(1)

End Sub


Mais cette macro ne se compile pas et me dit "Nombre d'argument incorect ou affectation de propriété incorrect" sur la ligne suivante -> Cells(ab, 3).Row = tableau(i)
:(
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
qq1 saurait d'ou vient le probléme ???


Merci :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Si je comprend ce que tu veux au final...
i=1
nonvide = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
For ab = nonvide To 1 Step -1
    If Cells(ab, 3).Value = "a" Then
        tableau(i) = Cells(ab, 3).Row 
        i = i + 1
    End If
    
Next ab

mais si tu a plus de 2 lignes ca va encore se planter, il faut que T soit suffisament dimentionner
Ex si tu a 100 ligne... Dim T(100)
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Merci bien de m'avoir répondu Lermite !

Si je veux faire la moyenne des valeurs contenue dans le tableau je dois écrire :
Dim ab As Integer
Dim tableau(200) As Integer
Dim i As Integer
Dim nonvide As Integer

Dim moyenne as integer

i=1
nonvide = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
For ab = nonvide To 1 Step -1
    If Cells(ab, 3).Value = "3" OR "4" or "5" Then
        tableau(i) = Cells(ab, 3).Row 
        i = i + 1
    End If   
Next ab


For i = 200 to 1 step-1
moyenne = i*(i+1)/i
next i
MsgBox moyenne

end sud



Je ne sais pas trop comment m'y prendre du fait que les 200 places dans le tableau ne sont pas nécessairement utilisées.



Merci encore !
++
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Desespère pas ca commence à viendre... :-D
Dim ab As Integer
Dim tableau(200) As Integer
Dim i As Integer, e as integer
Dim moyenne as integer

i=0
For ab = 1 to ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
If Cells(ab, 3).Value >2 and Cells(ab, 3).Value <6 Then
tableau(i) = Cells(ab, 3).value
i = i + 1
End If
Next ab

moyenne = 0
For e =0 to i -1
moyenne = moyenne +T(e)
next e
MsgBox moyenne/(e-1)
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Ok merci lermite jvais analyser ta macro demain
Au faite dans la macro à la place de la lettre "T" ce n'est pas plutot "Tableau" ??
Sur ce bonne journée!!

++
Thx
Merci pr ta réponse !
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Erf le calcul de la moyenne ne fonctionne pas :(
J'ai essayé le mode pas à pas et le probléme vient de
moyenne = moyenne +Tabluea(e)

++
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
J'ai retesté et ca fonctionne, sauf si pas de donnée correspondante.
Ajoute ces lignes en dessous du Next ab

If i = 0 Then
    MsgBox "Aucune donnée ne répond aux critères."
    Exit Sub
End If

et vérifie l'ortographe de >> +Tabluea(e)
A+
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
[lol]
Bin c'est la meilleur alors que ca fonctionne chez toi.

Jtrouve ca vraiment bizarre que ca ne fonctionne pas

Sub zaefaz()


Dim ab As Integer
Dim tableau(200) As Integer
Dim i As Integer, e As Integer
Dim moyenne As Integer

i = 0
For ab = 1 To 3
If Cells(ab, 3).Value > 0 Then
tableau(i) = Cells(ab, 3).Value
i = i + 1
End If
Next ab
If i = 0 Then
    MsgBox "Aucune donnée ne répond aux critères."
    Exit Sub
End If
moyenne = 0
For e = 0 To i - 1
moyenne = moyenne + tableau(e)
Next e
MsgBox moyenne / (e - 1)
End Sub


Les résultats que j'obtiens avec cette macro sont incohérents avec le résultat attendu ....
Si tu vois qqchose qui ne va pas dans le code ci dessus ...



merci encore!!
+
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai mi les veriables en Double se ne change rien .
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Montre ce que tu a comme donnée dans C1,C2 et C3
ET ARRETE DE CHANGER CONSTAMMENT LES CRITERES.

EDIT:
Pfffffffffttttttttttt
Ta macro fonctionne.
Vu qu'il n'y a pas de référence à la feuille tu doit mettre ta macro dans le module de la feuille
double clic sur Feuil1 dans l'explorateur de projer et mettre la macto là.
0