• Initiateur de la discussion Initiateur de la discussion Popi14
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Popi14

Guest
Re-bonjour,

J'ai un dernier petit problème.
En gros, j'ai des valeurs de la case DJ1 à DJ5 et j'aimerai connaître la position de la case "DJ1😀J5 qui a la plus grande valeur.

J'ai donc fait un tri de mes données par ordre décroissant de ma feuille 2.
J'utilise le code ci-dessous mais j'ai le débogeur qui s'arrête sur Range("B1😀J5").Select à chaque fois. Je ne sais pas pourquoi.

Si vous avez une solution ou une autre méthode, je suis preneur !!





Sub tri()

Sheets("Feuil2").Select


'Range("B1😀J5").Select
'Range("DJ5").Activate
Selection.Sort Key1:=Range("DJ1"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom


End Sub




Encore merci pour votre aide,

Popi14 qui s'ouffre beaucoup en ce moment avec Excel
 
Re : Tri de valeurs

Bonjour Popi14,

Une première chose, mais je suppose qu'il sagit d'une étourderie :
tu as mis une apostrophe devant la ligne concernée, ce qui fait qu'elle est mise en remarque

deuxième chose, afin que ton code soit plus clair insère le entre 2 balises code (#) bouton que tu trouveras dans le menu de la fenêtre que tu utilises pour écrire ton message

enfin, à première vue, je ne vois pas pourquoi il y aurait un bug sur la ligne de code

Code:
Range("B1:J5").Select

A+
 
Re : Tri de valeurs

Bonjour Popi14 et Jacques87,


essaies avec cette macro :

Sub tri()
Sheets("Feuil2").Select
Range("DJ1😀J5").Sort Key1:=Range("DJ1"), Order1:=xlDescending
End Sub

Remplacer la tête de clown par deux points et D
Cordialement

Bernard
 
Dernière édition:
Re : Tri de valeurs

Bonjour à tous,

Bernard, si je permets d'intervenir de nouveau, ce n'est pas pour apporter une solution de plus car la tienne suffit, mais tout simplement parce que Popi14 disait :

[J'utilise le code ci-dessous mais j'ai le débogeur qui s'arrête sur Range("B1😀J5").Select à chaque fois/QUOTE]

cette ligne étant située en première position, je ne vois pas pourquoi le débogage lui signale une erreur à cet endroit .... ou alors, son code étant incomplet, il y aurait une raison préalable qui engendrerait cette erreur.

Voila, c'est pas simple curiosité que je suis intervenu une deuxième fois

Bonne journée à tous
 
Re : Tri de valeurs

Bonjour Jacques et tous le forum,

J'ai mis le fichier joint et j'ai exposé mon problème dans la conversation "Re-tri avec fichier joint".

Le problème subsiste toujours et je n'arrive pas à le supprimer.

Bonne journée et merci pôur tous,

Laurent
 
Re : Tri de valeurs

Re,
Je vais contourner le problème, je vais mettre le contenu de mes lignes VBA ci-dessous. Je m'excuse d'avance pour les manipes que cela vous obligera à faire mais au moins je suis sur que vous aurez les infos🙂

toutes les lignes ci-dessous sont à copier et à coller (Alt F11) dans la feuille 1
[I]Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Worksheets("Feuil1").Range("DH1").Value <> "" Then
Call comparaison
End If
End Sub

Sub comparaison()
Dim Msg, Style, Title, Help, Ctxt, Reponse, MyString
Dim nom As String
Dim corriger As String



Dim nbr As Integer 'nbre de lignes
Dim i As Integer
Dim r As Integer
Dim k As Integer

Dim a As Integer

'Nombre d'espèces dans la base
nbr = Worksheets("Feuil2").Range("DK1").Value

For i = 1 To nbr 'initialisation du compteur
Worksheets("Feuil2").Range("DJ" & i).Value = 0
Next i

'Nombre de pixels en commun
For i = 1 To nbr
For r = 2 To 110


If Worksheets("Feuil1").Cells(1, r).Value = Worksheets("Feuil2").Cells(i, r).Value Then
Worksheets("Feuil2").Range("DJ" & i).Value = Worksheets("Feuil2").Range("DJ" & i).Value + 1
End If

Next r
Next i
'tri des données
'Call tri

nom = Worksheets("Feuil2").Range("B1")
Msg = "Le nom de l'espèce est" & Chr(10) & nom
Style = vbYesNoCancel + vbCritical + vbDefaultButton2
Title = "Interface utilisateur "


'Affichage dans une boîte de dialogue est action en conséquence

Reponse = MsgBox(Msg, Style, Title, Help, Ctxt)
If Reponse = vbYes Then
MsgBox "Identification terminée"
'sauvegarder feuille 1 et 2
Sheets("Feuil2").Select
ActiveWorkbook.Save
'effacer le contenu de la feuille 1 et sauvegarder
Sheets("Feuil1").Select
Selection.ClearContents
ActiveWorkbook.Save

ElseIf Reponse = vbNo Then
corriger = InputBox("Veuillez entrer le nom")
For k = 2 To 112
Worksheets("Feuil2").Cells(nbr + 1, k).Value = Worksheets("Feuil1").Cells(1, k).Value
Next k
Worksheets("Feuil2").Cells(nbr + 1, 2).Value = corriger
'sauvegarder feuille 1 et 2
Sheets("Feuil2").Select
ActiveWorkbook.Save
'effacer le contenu de la feuille 1 et sauvegarder
Sheets("Feuil1").Select
Selection.ClearContents
ActiveWorkbook.Save

Else
'effacer le
'sauvegarder feuille 1 et 2
Sheets("Feuil2").Select
ActiveWorkbook.Save
'contenu de la feuille 1 et sauvegarder
Sheets("Feuil1").Select
Selection.ClearContents
ThisWorkbook.Close True


Exit Sub
End If
End Sub


Sub tri()

Sheets("Feuil2").Select


Range("B1😀J5").Select
Range("DJ5").Activate
Selection.Sort Key1:=Range("DJ1"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub[/I]

Ci-joint le fichier avec les données sans le code VBA qui est à coller.



Si vous rencontrer un problème lors du chargement, n'hésiter pas à me prévenir.

Encore merci pour tous,

Laurent
 

Pièces jointes

Re : Tri de valeurs

Re,

Il y a une erreur lors de mon collage. A un moment dans mon code VBA, j'ai mis 'Call tri. Il faut supprimer le '. J'ai oublié de l'enlever 😀 (c'est quand j'essayais de résoudre le probème😕 )

Laurent
 
Re : Tri de valeurs

Re,

Remplace le code de ta macro "Tri" par

Code:
Sub tri()
With Sheets("Feuil2")

.Range("B1:J5").Select
.Range("DJ5").Activate
Selection.Sort Key1:=.Range("DJ1"), Order1:=xlDescending ', Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
End Sub
 
Re : Tri de valeurs

Re-bonjour Jacques,

Je te remercie de plancher sur mon sujet. La solution que tu viens de me proposer n'a pas marché.

J'ai comme message : "la méthode Select de la classe Range a échoué"

J'avoue en perdre mon latin, j'ai essayé de copier les codes avec l'enregistreur de macro etc. , je ne trouve pas et je ne sais pas pourquoi il ne veut pas.

Je commence à desespèrer !

Sinon, si tu as une autre solution que le tri. Si tu connais une fonction qui permet de sortir l'entier le plus élevé d'une colonne (conf ci-dessous) et de donner sa position, je suis prêt à changer de méthode.


exemple:

A1 5
A2 15
A3 30

L'entier le plus élevé est en A3.

Merci 😱
Laurent
 
Re : Tri de valeurs

Bonjour Jacques,

J'ai trouvé la formule:

=INDEX(B$1:B$100;EQUIV(GRANDE.VALEUR(DJ$1😀J$100;1);DJ$1😀J$100;0))

Maintenant reste à convertir la formule en VBA et à tester mais je suis le bon chemin.

Encore un grand merci à toi et au forum,

Bonne journée,

Laurent (toujours chercher, on finit par trouver)
 
Re : Tri de valeurs

Re,

Voici un petit truc fait à la va vite dont tu pourrais t'inspirer

Les valeurs sont à inscrire dans la colonne A, et tu peux en mettre autant que tu veux
Si jamais il y avait plusieurs "Maxima" on te donnera l'adresse de la cellule où se trouve le premier Max
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
740
Réponses
17
Affichages
1 K
Réponses
6
Affichages
1 K
Retour