Passage à la ligne suivante
Fermé
teostid
Messages postés
2
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
6 avril 2016
-
Modifié par pijaku le 6/04/2016 à 09:20
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 6 avril 2016 à 10:15
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 6 avril 2016 à 10:15
A voir également:
- Passage à la ligne suivante
- Aller à la ligne excel - Guide
- Partager photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Passage qwerty azerty - Guide
- Apparaitre hors ligne instagram - Guide
1 réponse
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
6 avril 2016 à 09:54
6 avril 2016 à 09:54
Bonjour,
L'idéal est de boucler sur chaque ligne de ta plage et de disposer d'une fonction qui te renvoie, non pas la valeur du minimum de cette ligne, mais la colonne ou se situe cette valeur minimale.
Après, ce code est valable pour des petites plages.
Pour des plages plus importantes (milliers de lignes, centaine de colonne) il faudra en changer.
L'idéal est de boucler sur chaque ligne de ta plage et de disposer d'une fonction qui te renvoie, non pas la valeur du minimum de cette ligne, mais la colonne ou se situe cette valeur minimale.
Sub tests_selection() 'Déclaration des plages Dim Ligne As Integer, col As Integer, ws As Worksheet 'Selection de la feuille Set ws = Worksheets("Feuil1") 'remise en "blanc" du range ws.Range("D2:I11").Interior.Pattern = xlNone 'boucle sur les lignes For Ligne = 2 To 11 'calcule de la colonne contenant le minimum 'en fonction de : 'la feuille : ws 'la première colonne : "D" 'la dernière colonne : "I" 'le numéro de la ligne : Ligne col = Colonne_Min(ws, "D", "I", Ligne) '"coloriage" Cells(Ligne, col).Interior.ColorIndex = 7 Next Ligne End Sub Function Colonne_Min(Feuil As Worksheet, FirstCol As String, LastCol As String, lig As Integer) As Integer Dim Cel As Range, Colmini As Integer, mini As Double 'valeur par défaut (contenu de la première colonne) mini = Feuil.Range(FirstCol & lig).Value 'colonne par défaut (1ère) Colmini = Feuil.Range(FirstCol & lig).Column 'boucle sur les cellules de la ligne For Each Cel In Feuil.Range(FirstCol & lig & ":" & LastCol & lig) 'si inférieur au minimum If Cel.Value < mini Then mini = Cel.Value 'stocke la valeur Colmini = Cel.Column 'stocke la colonne End If Next Cel 'retourne le numéro de la colonne contenant le minimum Colonne_Min = Colmini End Function
Après, ce code est valable pour des petites plages.
Pour des plages plus importantes (milliers de lignes, centaine de colonne) il faudra en changer.
6 avril 2016 à 10:10
Quand je rendre votre code en remplaçant "feuil" par "RC", qui est le nom de ma feuille.
Il y a marqué ERREUR D'EXECUTION '13':
Incompatibilité de type
Vous savez à quoi cela est du?
6 avril 2016 à 10:15
à remplacer par :