Bonjour à tous.
Je reste perplexe sur une opération qui paraît très simple au premier abord
mais qui devient des plus complexes après des heures de recherhes
infructueuses.
Deux options : soit je suis une brèle finie (rien d'impossible), soit je m'y
prends comme un manche (possible également).
Voici mon problème :
Dans les cellules A1 à A12, j'ai les valeurs suivants :
5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule)
Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs de A1 à
A12 triées par ordre croissant sans utiliser de macro ni de cellules
supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive sans
problème ayant trouvé l'algorithme adéquat avec du matriciel et la fonction
'petite.valeur()'.
Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont plus
actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudier mon
cas.
Ta liste en A1:A12 Tu sélectionnes la plage B1:B12 En B1, tu saisis la formule suivante : ÊR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12))) Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caractère saisi dans les cellules.
"ROCHE Pierre" a écrit dans le message de news: % Bonjour à tous. Je reste perplexe sur une opération qui paraît très simple au premier abord mais qui devient des plus complexes après des heures de recherhes infructueuses. Deux options : soit je suis une brèle finie (rien d'impossible), soit je m'y prends comme un manche (possible également).
Voici mon problème : Dans les cellules A1 à A12, j'ai les valeurs suivants : 5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule) Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs de A1 à A12 triées par ordre croissant sans utiliser de macro ni de cellules supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive sans problème ayant trouvé l'algorithme adéquat avec du matriciel et la fonction 'petite.valeur()'. Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont plus actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudier mon cas.
Ta liste en A1:A12
Tu sélectionnes la plage B1:B12
En B1, tu saisis la formule suivante :
ÊR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12)))
Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caractère saisi dans les cellules.
"ROCHE Pierre" <Pierre.Roche@Wanadoo.fr> a écrit dans le message de news:
%23e2qx4fTHHA.1016@TK2MSFTNGP04.phx.gbl...
Bonjour à tous.
Je reste perplexe sur une opération qui paraît très simple au premier abord
mais qui devient des plus complexes après des heures de recherhes
infructueuses.
Deux options : soit je suis une brèle finie (rien d'impossible), soit je m'y
prends comme un manche (possible également).
Voici mon problème :
Dans les cellules A1 à A12, j'ai les valeurs suivants :
5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule)
Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs de A1 à
A12 triées par ordre croissant sans utiliser de macro ni de cellules
supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive sans
problème ayant trouvé l'algorithme adéquat avec du matriciel et la fonction
'petite.valeur()'.
Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont plus
actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudier mon
cas.
Ta liste en A1:A12 Tu sélectionnes la plage B1:B12 En B1, tu saisis la formule suivante : ÊR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12))) Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caractère saisi dans les cellules.
"ROCHE Pierre" a écrit dans le message de news: % Bonjour à tous. Je reste perplexe sur une opération qui paraît très simple au premier abord mais qui devient des plus complexes après des heures de recherhes infructueuses. Deux options : soit je suis une brèle finie (rien d'impossible), soit je m'y prends comme un manche (possible également).
Voici mon problème : Dans les cellules A1 à A12, j'ai les valeurs suivants : 5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule) Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs de A1 à A12 triées par ordre croissant sans utiliser de macro ni de cellules supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive sans problème ayant trouvé l'algorithme adéquat avec du matriciel et la fonction 'petite.valeur()'. Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont plus actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudier mon cas.
ROCHE Pierre
Cà marche super bien !!
Pour aller un peu plus loin : Même question quand les cellules contenant du texte ont plus d'un caractère ou un mélange des 2 : exemple => à la place de B, j'ai Bruno et je garde C dans ma cellule A11 Là, je vais pouvoir traiter le cas général.
Encore merci pour la suite et la nouvelle réponse
"MichDenis" a écrit dans le message de news: %
Ta liste en A1:A12 Tu sélectionnes la plage B1:B12 En B1, tu saisis la formule suivante : ÊR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12))) Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caractère saisi dans les cellules.
"ROCHE Pierre" a écrit dans le message de news: % Bonjour à tous. Je reste perplexe sur une opération qui paraît très simple au premier abord mais qui devient des plus complexes après des heures de recherhes infructueuses. Deux options : soit je suis une brèle finie (rien d'impossible), soit je m'y prends comme un manche (possible également).
Voici mon problème : Dans les cellules A1 à A12, j'ai les valeurs suivants : 5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule) Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs de A1 à A12 triées par ordre croissant sans utiliser de macro ni de cellules supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive sans problème ayant trouvé l'algorithme adéquat avec du matriciel et la fonction 'petite.valeur()'. Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont plus actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudier mon cas.
Cà marche super bien !!
Pour aller un peu plus loin :
Même question quand les cellules contenant du texte ont plus d'un caractère
ou un mélange des 2 :
exemple => à la place de B, j'ai Bruno et je garde C dans ma cellule A11
Là, je vais pouvoir traiter le cas général.
Encore merci pour la suite et la nouvelle réponse
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23MlNeDgTHHA.3500@TK2MSFTNGP05.phx.gbl...
Ta liste en A1:A12
Tu sélectionnes la plage B1:B12
En B1, tu saisis la formule suivante :
ÊR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12)))
Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caractère
saisi dans les cellules.
"ROCHE Pierre" <Pierre.Roche@Wanadoo.fr> a écrit dans le message de news:
%23e2qx4fTHHA.1016@TK2MSFTNGP04.phx.gbl...
Bonjour à tous.
Je reste perplexe sur une opération qui paraît très simple au premier
abord
mais qui devient des plus complexes après des heures de recherhes
infructueuses.
Deux options : soit je suis une brèle finie (rien d'impossible), soit je
m'y
prends comme un manche (possible également).
Voici mon problème :
Dans les cellules A1 à A12, j'ai les valeurs suivants :
5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule)
Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs de A1 à
A12 triées par ordre croissant sans utiliser de macro ni de cellules
supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive
sans
problème ayant trouvé l'algorithme adéquat avec du matriciel et la
fonction
'petite.valeur()'.
Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont
plus
actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudier mon
cas.
Pour aller un peu plus loin : Même question quand les cellules contenant du texte ont plus d'un caractère ou un mélange des 2 : exemple => à la place de B, j'ai Bruno et je garde C dans ma cellule A11 Là, je vais pouvoir traiter le cas général.
Encore merci pour la suite et la nouvelle réponse
"MichDenis" a écrit dans le message de news: %
Ta liste en A1:A12 Tu sélectionnes la plage B1:B12 En B1, tu saisis la formule suivante : ÊR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12))) Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caractère saisi dans les cellules.
"ROCHE Pierre" a écrit dans le message de news: % Bonjour à tous. Je reste perplexe sur une opération qui paraît très simple au premier abord mais qui devient des plus complexes après des heures de recherhes infructueuses. Deux options : soit je suis une brèle finie (rien d'impossible), soit je m'y prends comme un manche (possible également).
Voici mon problème : Dans les cellules A1 à A12, j'ai les valeurs suivants : 5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule) Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs de A1 à A12 triées par ordre croissant sans utiliser de macro ni de cellules supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive sans problème ayant trouvé l'algorithme adéquat avec du matriciel et la fonction 'petite.valeur()'. Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont plus actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudier mon cas.
MichDenis
Au lieu d'une formule, copie ce qui suit dans le module feuille où l'action se déroule :
'Dans le haut du module Option Compare Text '--------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, S() Set Rg = Range("A1:A12") ReDim S(1 To Rg.Rows.Count, 1) If Not Intersect(Target, Rg) Is Nothing Then S = Rg Application.EnableEvents = False Rg.Offset(, 1) = BubbleSort(S) Application.EnableEvents = True End If End Sub '--------------------------------------- Function BubbleSort(List()) ' Sorts the List array in ascending order Dim First As Integer, Last As Integer Dim i As Integer, j As Integer Dim Temp
First = LBound(List) Last = UBound(List) For i = First To Last - 1 For j = i + 1 To Last If List(i, 1) > List(j, 1) Then Temp = List(j, 1) List(j, 1) = List(i, 1) List(i, 1) = Temp End If Next j Next i BubbleSort = List End Function '---------------------------------------
"ROCHE Pierre" a écrit dans le message de news:
Cà marche super bien !!
Pour aller un peu plus loin : Même question quand les cellules contenant du texte ont plus d'un caractère ou un mélange des 2 : exemple => à la place de B, j'ai Bruno et je garde C dans ma cellule A11 Là, je vais pouvoir traiter le cas général.
Encore merci pour la suite et la nouvelle réponse
"MichDenis" a écrit dans le message de news: %
Ta liste en A1:A12 Tu sélectionnes la plage B1:B12 En B1, tu saisis la formule suivante : ÊR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12))) Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caractère saisi dans les cellules.
"ROCHE Pierre" a écrit dans le message de news: % Bonjour à tous. Je reste perplexe sur une opération qui paraît très simple au premier abord mais qui devient des plus complexes après des heures de recherhes infructueuses. Deux options : soit je suis une brèle finie (rien d'impossible), soit je m'y prends comme un manche (possible également).
Voici mon problème : Dans les cellules A1 à A12, j'ai les valeurs suivants : 5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule) Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs de A1 à A12 triées par ordre croissant sans utiliser de macro ni de cellules supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive sans problème ayant trouvé l'algorithme adéquat avec du matriciel et la fonction 'petite.valeur()'. Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont plus actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudier mon cas.
Au lieu d'une formule, copie ce qui suit
dans le module feuille où l'action se déroule :
'Dans le haut du module
Option Compare Text
'---------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, S()
Set Rg = Range("A1:A12")
ReDim S(1 To Rg.Rows.Count, 1)
If Not Intersect(Target, Rg) Is Nothing Then
S = Rg
Application.EnableEvents = False
Rg.Offset(, 1) = BubbleSort(S)
Application.EnableEvents = True
End If
End Sub
'---------------------------------------
Function BubbleSort(List())
' Sorts the List array in ascending order
Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp
First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function
'---------------------------------------
"ROCHE Pierre" <Pierre.Roche@Wanadoo.fr> a écrit dans le message de news:
euipFbhTHHA.1552@TK2MSFTNGP05.phx.gbl...
Cà marche super bien !!
Pour aller un peu plus loin :
Même question quand les cellules contenant du texte ont plus d'un caractère
ou un mélange des 2 :
exemple => à la place de B, j'ai Bruno et je garde C dans ma cellule A11
Là, je vais pouvoir traiter le cas général.
Encore merci pour la suite et la nouvelle réponse
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23MlNeDgTHHA.3500@TK2MSFTNGP05.phx.gbl...
Ta liste en A1:A12
Tu sélectionnes la plage B1:B12
En B1, tu saisis la formule suivante :
ÊR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12)))
Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caractère
saisi dans les cellules.
"ROCHE Pierre" <Pierre.Roche@Wanadoo.fr> a écrit dans le message de news:
%23e2qx4fTHHA.1016@TK2MSFTNGP04.phx.gbl...
Bonjour à tous.
Je reste perplexe sur une opération qui paraît très simple au premier
abord
mais qui devient des plus complexes après des heures de recherhes
infructueuses.
Deux options : soit je suis une brèle finie (rien d'impossible), soit je
m'y
prends comme un manche (possible également).
Voici mon problème :
Dans les cellules A1 à A12, j'ai les valeurs suivants :
5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule)
Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs de A1 à
A12 triées par ordre croissant sans utiliser de macro ni de cellules
supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive
sans
problème ayant trouvé l'algorithme adéquat avec du matriciel et la
fonction
'petite.valeur()'.
Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont
plus
actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudier mon
cas.
Au lieu d'une formule, copie ce qui suit dans le module feuille où l'action se déroule :
'Dans le haut du module Option Compare Text '--------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, S() Set Rg = Range("A1:A12") ReDim S(1 To Rg.Rows.Count, 1) If Not Intersect(Target, Rg) Is Nothing Then S = Rg Application.EnableEvents = False Rg.Offset(, 1) = BubbleSort(S) Application.EnableEvents = True End If End Sub '--------------------------------------- Function BubbleSort(List()) ' Sorts the List array in ascending order Dim First As Integer, Last As Integer Dim i As Integer, j As Integer Dim Temp
First = LBound(List) Last = UBound(List) For i = First To Last - 1 For j = i + 1 To Last If List(i, 1) > List(j, 1) Then Temp = List(j, 1) List(j, 1) = List(i, 1) List(i, 1) = Temp End If Next j Next i BubbleSort = List End Function '---------------------------------------
"ROCHE Pierre" a écrit dans le message de news:
Cà marche super bien !!
Pour aller un peu plus loin : Même question quand les cellules contenant du texte ont plus d'un caractère ou un mélange des 2 : exemple => à la place de B, j'ai Bruno et je garde C dans ma cellule A11 Là, je vais pouvoir traiter le cas général.
Encore merci pour la suite et la nouvelle réponse
"MichDenis" a écrit dans le message de news: %
Ta liste en A1:A12 Tu sélectionnes la plage B1:B12 En B1, tu saisis la formule suivante : ÊR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12))) Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caractère saisi dans les cellules.
"ROCHE Pierre" a écrit dans le message de news: % Bonjour à tous. Je reste perplexe sur une opération qui paraît très simple au premier abord mais qui devient des plus complexes après des heures de recherhes infructueuses. Deux options : soit je suis une brèle finie (rien d'impossible), soit je m'y prends comme un manche (possible également).
Voici mon problème : Dans les cellules A1 à A12, j'ai les valeurs suivants : 5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule) Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs de A1 à A12 triées par ordre croissant sans utiliser de macro ni de cellules supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive sans problème ayant trouvé l'algorithme adéquat avec du matriciel et la fonction 'petite.valeur()'. Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont plus actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudier mon cas.
JB
Bonsoir,
AMHA, ce n'est pas possible en matriciel.
Tri VBA dès la saisie en A1:A12:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([A1:A12], Target) Is Nothing Then [A1:A12].Copy [B1] [B1:B12].Sort key1:=[B1] End If End Sub
Pour aller un peu plus loin : Même question quand les cellules contenant du texte ont plus d'un carac tère ou un mélange des 2 : exemple => à la place de B, j'ai Bruno et je garde C dans ma cellule A11 Là, je vais pouvoir traiter le cas général.
Encore merci pour la suite et la nouvelle réponse
"MichDenis" a écrit dans le message de news: %
Ta liste en A1:A12 Tu sélectionnes la plage B1:B12 En B1, tu saisis la formule suivante : ÊR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12))) Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caract ère saisi dans les cellules.
"ROCHE Pierre" a écrit dans le message de n ews: % Bonjour à tous. Je reste perplexe sur une opération qui paraît très simple au pre mier abord mais qui devient des plus complexes après des heures de recherhes infructueuses. Deux options : soit je suis une brèle finie (rien d'impossible), soit je m'y prends comme un manche (possible également).
Voici mon problème : Dans les cellules A1 à A12, j'ai les valeurs suivants : 5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule) Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs d e A1 à A12 triées par ordre croissant sans utiliser de macro ni de cellules supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive sans problème ayant trouvé l'algorithme adéquat avec du matriciel et la fonction 'petite.valeur()'. Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont plus actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudie r mon cas.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
AMHA, ce n'est pas possible en matriciel.
Tri VBA dès la saisie en A1:A12:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([A1:A12], Target) Is Nothing Then
[A1:A12].Copy [B1]
[B1:B12].Sort key1:=[B1]
End If
End Sub
On 11 fév, 20:57, "ROCHE Pierre" <Pierre.Ro...@Wanadoo.fr> wrote:
Cà marche super bien !!
Pour aller un peu plus loin :
Même question quand les cellules contenant du texte ont plus d'un carac tère
ou un mélange des 2 :
exemple => à la place de B, j'ai Bruno et je garde C dans ma cellule A11
Là, je vais pouvoir traiter le cas général.
Encore merci pour la suite et la nouvelle réponse
"MichDenis" <michde...@hotmail.com> a écrit dans le message de news:
%23MlNeDgTHHA.3...@TK2MSFTNGP05.phx.gbl...
Ta liste en A1:A12
Tu sélectionnes la plage B1:B12
En B1, tu saisis la formule suivante :
=CAR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12)))
Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caract ère
saisi dans les cellules.
"ROCHE Pierre" <Pierre.Ro...@Wanadoo.fr> a écrit dans le message de n ews:
%23e2qx4fTHHA.1...@TK2MSFTNGP04.phx.gbl...
Bonjour à tous.
Je reste perplexe sur une opération qui paraît très simple au pre mier
abord
mais qui devient des plus complexes après des heures de recherhes
infructueuses.
Deux options : soit je suis une brèle finie (rien d'impossible), soit je
m'y
prends comme un manche (possible également).
Voici mon problème :
Dans les cellules A1 à A12, j'ai les valeurs suivants :
5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule)
Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs d e A1 à
A12 triées par ordre croissant sans utiliser de macro ni de cellules
supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive
sans
problème ayant trouvé l'algorithme adéquat avec du matriciel et la
fonction
'petite.valeur()'.
Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont
plus
actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudie r mon
cas.- Masquer le texte des messages précédents -
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([A1:A12], Target) Is Nothing Then [A1:A12].Copy [B1] [B1:B12].Sort key1:=[B1] End If End Sub
Pour aller un peu plus loin : Même question quand les cellules contenant du texte ont plus d'un carac tère ou un mélange des 2 : exemple => à la place de B, j'ai Bruno et je garde C dans ma cellule A11 Là, je vais pouvoir traiter le cas général.
Encore merci pour la suite et la nouvelle réponse
"MichDenis" a écrit dans le message de news: %
Ta liste en A1:A12 Tu sélectionnes la plage B1:B12 En B1, tu saisis la formule suivante : ÊR(PETITE.VALEUR(CODE(A1:A12);LIGNE(1:12))) Et tu valides la formule par Ctrl + Maj + Enter
Résultat : ordre croissant des valeurs selon le code Ascii du caract ère saisi dans les cellules.
"ROCHE Pierre" a écrit dans le message de n ews: % Bonjour à tous. Je reste perplexe sur une opération qui paraît très simple au pre mier abord mais qui devient des plus complexes après des heures de recherhes infructueuses. Deux options : soit je suis une brèle finie (rien d'impossible), soit je m'y prends comme un manche (possible également).
Voici mon problème : Dans les cellules A1 à A12, j'ai les valeurs suivants : 5;B;3;7;1;6;8;9;4;0;C;2 (une valeur par cellule) Je n'arrive pas à avoir dans les cellules de B1 à B12 les valeurs d e A1 à A12 triées par ordre croissant sans utiliser de macro ni de cellules supplémentaires pour des calculs intermédiaires.
Si dans la colonne A, il n'y a aucune valeur alphabétique, j'y arrive sans problème ayant trouvé l'algorithme adéquat avec du matriciel et la fonction 'petite.valeur()'. Par contre, avec de l'alphanum, je coince.
Si qulequ'un a déjà rencontré ce type de souci ou si vos neurones sont plus actifs que le mien, je suis preneur de vos remarques et/ou solutions.
Merci d'avance pour la patience que vous mettrez en oeuvre à étudie r mon cas.- Masquer le texte des messages précédents -