Message box qui affiche par odee decroisant
lepapillon2015
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous !j'espere que tout le monde va bien! J'ai une petite question:
J'ai quatre feuilles qui affiche chacune une valeur provenant d'une somme a la fin d'une colonne, j'aimerais quand on est à la fin de la quatrième feuille faire une message box qui m'affiche les valeurs par ordre décroissant !
Merci de votre aide par avance ;)
J'ai quatre feuilles qui affiche chacune une valeur provenant d'une somme a la fin d'une colonne, j'aimerais quand on est à la fin de la quatrième feuille faire une message box qui m'affiche les valeurs par ordre décroissant !
Merci de votre aide par avance ;)
A voir également:
- Message box qui affiche par odee decroisant
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Message absence thunderbird - Guide
- Epingler un message whatsapp - Accueil - Messagerie instantanée
- Message du pere noel gratuit whatsapp - Accueil - Messagerie instantanée
3 réponses
Bonjour Lepapillon, bonjour le forum,
J'avais répondu à ce post en te secouant un peu à cause de ta demande plus qu'incomplète. Un "modérateur" a cru bon de supprimer ma réponse qui n'avait vraiment rien d'offusquant, je te l'assure. Résultat, tu n'as toujours pas de réponse...
Moralité, certains modérateurs feraient mieux de se modérer eux même... !
J'avais répondu à ce post en te secouant un peu à cause de ta demande plus qu'incomplète. Un "modérateur" a cru bon de supprimer ma réponse qui n'avait vraiment rien d'offusquant, je te l'assure. Résultat, tu n'as toujours pas de réponse...
Moralité, certains modérateurs feraient mieux de se modérer eux même... !
Bonjour,
Voici une macro à adapter les cellules contenant les sommes.
Voir le site mentionné plus haut pour les tableaux
Voici une macro à adapter les cellules contenant les sommes.
'http://silkyroad.developpez.com/vba/tableaux/#LXIV-D Sub Tri_Tableau() Dim Valeur As Integer Dim i As Integer Dim Cible As Variant Dim Tableau() As Single Dim NomTableau(3) As String 'Alimente les éléments du tableau NomTableau(0) = Sheets(1).Range("A1").Value 'a adapter les cellules contenant les sommes NomTableau(1) = Sheets(2).Range("A1").Value NomTableau(2) = Sheets(3).Range("A1").Value NomTableau(3) = Sheets(4).Range("A1").Value ReDim Tableau(0 To 3) For i = 0 To UBound(Tableau()) Tableau(i) = NomTableau(i) Next i Do 'tri décroissant Valeur = 0 For i = 0 To UBound(Tableau) - 1 If Tableau(i) < Tableau(i + 1) Then Cible = Tableau(i) Tableau(i) = Tableau(i + 1) Tableau(i + 1) = Cible Valeur = 1 End If Next i Loop While Valeur = 1 'vérification du tri décroissant For i = 0 To UBound(Tableau) MsgBox Tableau(i) Next i 'Pour obtenir un ordre croissant, il suffit de boucler du dernier élément 'du tableau, vers le premier. 'For i = UBound(Tableau) To 0 Step -1 'Debug.Print Tableau(i) 'Next i End Sub
Voir le site mentionné plus haut pour les tableaux
Bonsoir les animaux, bonsoir le forum,
Une autre proposition à adapter car malgré mes conseils, Lepapillon, tu manques toujours de clarté. Le code proposé considère que la somme se trouve dans la colonne A de chaque onglet (vu que tu expliques très mal ce point là) et que les 4 onglets sont les 4 premiers...
Dans ton premier post tu parle d'ordre décroissant puis dans la réponse 2 tu parles d'ordre croissant. Je crois que c'est surtout en désordre dans ta tête...
Le code utilise la fonction Large pour l'ordre décroissant. Il te suffit de remplacer Large par Small pour passer à l'ordre croissant. Tu verras, il y a une ligne commentée.
Le code doit être placé dans l'onglet Feuil4 [Feuil4(Feuil4)]. Il se déclenchera chaque fois que tu activeras cet onglet...
Une autre proposition à adapter car malgré mes conseils, Lepapillon, tu manques toujours de clarté. Le code proposé considère que la somme se trouve dans la colonne A de chaque onglet (vu que tu expliques très mal ce point là) et que les 4 onglets sont les 4 premiers...
Dans ton premier post tu parle d'ordre décroissant puis dans la réponse 2 tu parles d'ordre croissant. Je crois que c'est surtout en désordre dans ta tête...
Le code utilise la fonction Large pour l'ordre décroissant. Il te suffit de remplacer Large par Small pour passer à l'ordre croissant. Tu verras, il y a une ligne commentée.
Le code doit être placé dans l'onglet Feuil4 [Feuil4(Feuil4)]. Il se déclenchera chaque fois que tu activeras cet onglet...
Private Sub Worksheet_Activate() Dim I As Byte 'déclare la variable I (Incrément) Dim TS(1 To 4) 'déclare le tableau de variables TS (Tableau des Sommes) Dim RNG(1 To 2, 1 To 4) 'déclare le tableau des variables RNG (RaNG) For I = 1 To 4 'boucle 1 : de 1 à 4 'récupère la somme des 4 premiers onglets dans la dernière cellule éditée de la colonne A de chacun TS(I) = Sheets(I).Cells(Application.Rows.Count, 1).End(xlUp).Value Next I 'prochaine valeur de la boucle 1 For I = 1 To 4 'boucle 1 : de 1 à 4 'renvoie dans la première colonne du tableau RNG la Ième plus grande valeur du tableau TS RNG(1, I) = Application.WorksheetFunction.Large(TS, I) 'ordre décroisant 'RNG(1, I) = Application.WorksheetFunction.Small(TS, I) 'ordre croisant For J = 1 To 4 'boucle 2 : de 1 à 4 'récupère dans la colonne 2 du tabelau RBG le nom de l'onglet contenant cette Ième plus grande valeur If RNG(1, I) = TS(J) Then RNG(2, I) = "Feuil" & J: Exit For Next J 'prochaine valeur de la boucle 2 Next I 'prochaine valeur de la boucle 1 'message renvoyant les sommes et leur emplacement dans l'ordre décroissant MsgBox RNG(1, 1) & " / " & RNG(2, 1) & Chr(13) _ & RNG(1, 2) & " / " & RNG(2, 2) & Chr(13) _ & RNG(1, 3) & " / " & RNG(2, 3) & Chr(13) _ & RNG(1, 4) & " / " & RNG(2, 4) End Sub
J'ai Quatre feuilles, avec une colonne remplis de chiffre chacune de façons aléatoire. A la fin de chaque colonne, il y'a la somme de cette dernière en A20. J'ai fait des boutons permettant d'aller de feuille en feuille, et je souhaitait faire une macro avec une message box qui quand j'arrive sur la feuille 4 me classe par ordre croissant les sommes des feuilles et me dise quelle somme est la plus élevé.
Voilà j'espere avoir été plus précis, éspérant que tu peux m'aider....
msgbox(sheets("NomDeLaFeuille1").range("CelluleDeLaSomme1").value + sheets("NomDeLaFeuille2").range("CelluleDeLaSomme2").value + sheets("NomDeLaFeuille3").range("CelluleDeLaSomme3").value)
end sub
J'avais cette macro pour essayer de m'inspirer mais je m'emmêle les pinceaux pour essayer de classer par ordre croissant, sachant que les sommes sont aléatoires...