Valeur MAX pour chaque colonne d'un tableau
Résolu/Fermé
debutante
-
21 oct. 2013 à 11:37
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 24 oct. 2013 à 10:00
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 24 oct. 2013 à 10:00
A voir également:
- Application.worksheetfunction.max
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Déplacer une colonne excel - Guide
- Comment faire un tableau - Guide
- Formule somme excel colonne - Guide
1 réponse
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
21 oct. 2013 à 11:54
21 oct. 2013 à 11:54
Bonjour,
la valeur maximale par devise ( donc par colonne ):
ex:
x=Application.WorksheetFunction.Max(Range("A1:A12"))
la valeur maximale par devise ( donc par colonne ):
ex:
x=Application.WorksheetFunction.Max(Range("A1:A12"))
Modifié par debutante le 21/10/2013 à 12:02
je vous remercie du retour
en effet j'avais essayé cette syntaxe mais ca répond pas parfaitement a ce dont j'ai besoin car la on fait le max dans un worksheet
moi je souhaite applique ce max sur le tableau DiffTab() don,t j'ai mis le code dans mon topic
au fait ce tableau fait la difference entre les valeurs de 2TCD et donc dans une boucle
je souhaiterais avant de faire un affichage de faire le MAX de la valeur trouvé dans chaque colonne du tableau DIFFtab()
en partant de cela application.worksheetfunction ne marche pas :(
merci pour l'aide
21 oct. 2013 à 13:37
A voir et adapter en fonction de ce que vous appelez colonne pour un tableau
Modifié par debutante le 21/10/2013 à 14:24
'recheche max par colonne tableau
For i = 6 To prodLastLine - 1
For j = 2 To prodLastColumn - 1
If diffTab(i - 5, j - 1) >= Table_max(j - 1) Then
Table_max(j - 1) = diffTab(i - 4, j - 1)
End If
Next j Next i
End Sub
vous en pensez quoi ?
'On stocke dans un tableau les diff entre prod et test
Dim diffTab() As Double
Dim Table_max() As Double
ReDim diffTab(prodLastLine - 6, prodLastColumn - 2)
ReDim Table_max(prodLastLine - 6, prodLastColumn - 2)
Erase Table_max
For i = 6 To prodLastLine - 1
For j = 2 To prodLastColumn - 1
diffTab(i - 5, j - 1) = Abs(prodTab(i - 5, j - 1) - testTab(i - 5, j - 1))
Next j
Next i
'recheche max par colonne tableau
For i = 6 To prodLastLine - 1
For j = 2 To prodLastColumn - 1
If diffTab(i - 4, j - 1) >= diffTab(i - 5, j - 1) Then
Table_max(i - 5, j - 1) = diffTab(i - 4, j - 1) ' erreur a ce niveau
End If
Next j
Next i
'Il reste à afficher le tout dans la feuille GENERAL
Dim generalWorksheet As Worksheet
Set generalWorksheet = ThisWorkbook.Worksheets("GENERAL")
generalWorksheet.Select
generalWorksheet.Range("B2").Resize(UBound(Table_max, 1), UBound(Table_max, 2)) = Table_max
generalWorksheet.Range("B1").Resize(1, UBound(ccyTab)) = ccyTab
generalWorksheet.Range("A2").Resize(UBound(scenarioTab), 1) = Application.Transpose(scenarioTab)
End Sub
du coup il me mets un msg dérreur 9 : l'indice n'appartient pas à la sélection
vous auriez une idée d'ou peut venir une erreur pareil svp
merci
21 oct. 2013 à 16:26
pourquoi
ReDim Table_max(prodLastLine - 6, prodLastColumn - 2)
alors que pour moi
ReDim Table_max(prodLastLine - 6) suffit !!!!!!!
l'indice n'appartient pas à la sélection Sur quelle ligne ???
A+
Modifié par debutante le 21/10/2013 à 17:05
j'ai fais le ReDim Table_max(prodLastLine - 6, prodLastColumn - 2) après l'affichage de l'erreur
car j'ai pensée que le tableau de resultat devrait etre de 2dimensions et contient plusieurs colonnes
la table initiale difftab() ressemble a cela :
devise / eur / dollars ..... ...... ....
scenarioID1 / 156 / 83
scenarioID2 / 25 / 90
scenarioID3 / 14 / 55
scenarioID4 / 96 / 30
scenarioID5 / 145 / 42
scenarioID6 / 2 / 13
..... ... .... /
..... ... ...
..... .... ..
scenarioID19 / 654 / 19
sinon l'erreur s'affiche au niveau de la ligne suivante :
'recheche max par colonne tableau
For i = 6 To prodLastLine - 1
For j = 2 To prodLastColumn - 1
If diffTab(i - 4, j - 1) >= diffTab(i - 5, j - 1) Then
Table_max(i - 5, j - 1) = diffTab(i - 4, j - 1) ' erreur a ce niveau End If
Next j
Next i
meme avec table_max(j-1) l'erreur s'affiche
merci bcp