Passage à la ligne suivante
teostid
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai créer un procédure qui me permet de colorer une cellule d'une ligne d emon choix:
Et ensuite j'ai créer une fonction qui trouve le minimum de la ligne:
Donc la procédure mets en couleur le minimum de la ligne.
Mais le problème c'est que j'arrive à faire faire ça de la ligne 2 à la ligne 11 par exemple.
Je pense qu'il faudrai mettre une boucle dans la fonction. Mais je n'y arrive
Donc si vous avez des idées, conseils, solutions je suis preneur merci bcp!!!
J'ai créer un procédure qui me permet de colorer une cellule d'une ligne d emon choix:
Sub tests_selection() 'Déclaration des plages Dim cel Dim plage As Range 'Selection des plages Set plage = Range("D2:I11") For Each cel In plage If cel.Text = minimum Then cel.Interior.ColorIndex = 7 End If Next cel End Sub
Et ensuite j'ai créer une fonction qui trouve le minimum de la ligne:
Public Function minimum() As Double Dim myRange As Range Set myRange = Worksheets("RC").Range("D2:I2") minimum = Application.WorksheetFunction.Min(myRange) End Function
Donc la procédure mets en couleur le minimum de la ligne.
Mais le problème c'est que j'arrive à faire faire ça de la ligne 2 à la ligne 11 par exemple.
Je pense qu'il faudrai mettre une boucle dans la fonction. Mais je n'y arrive
Donc si vous avez des idées, conseils, solutions je suis preneur merci bcp!!!
A voir également:
- Passage à la ligne suivante
- Aller à la ligne excel - Guide
- Partager photos en ligne - Guide
- Passage qwerty azerty - Guide
- Mètre en ligne - Guide
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
1 réponse
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.
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?
à remplacer par :