Tri d'une colonne à partir du premier caractère écrit en majuscule
11 réponses
PC
Bonjour,
J'ai un tableau avec une colonne 'Nom' et une colonne 'Adresse' (n° et
nom de rue).
J'ai besoin de trier le tableau par rues, c'est à dire que tous les
numéros d'une même rue se succèdent.
Par exemple, initialement, si je trie sur la colonne 'Adresse' j'obtiens
:
Larochas Georges 1 r Provence
Melin Colette 1 r Provence
Berthet Robert 1 r Provence
Magistry Denise 1 r Rapiettes
Ravaud Madeleine 1 r Résistants
Fernandez Louis 1 r Roland Garros
Talbot André 1 r Sablière
Savigneau Joseph 1 r St Gervais
Fruchard Marcel 1 r Tiffauges
Duverger Odette 10 all Cerisaie
Brouard Paulette 10 all Gartempe
Alcade André 10 all Louise Labé
Brouard Albert 10 all Parc
Fargeau René 105 r des Joncs
Durand Henri 2 r Provence
Gremaury Jean 2 r Provence
Julot Edna 3 r Rapiettes
Or, je voudrais obtenir
Larochas Georges 1 r Provence
Melin Colette 1 r Provence
Berthet Robert 1 r Provence
Durand Henri 2 r Provence
Gremaury Jean 2 r Provence
Magistry Denise 1 r Rapiettes
Julot Edna 3 r Rapiettes
Ravaud Madeleine 1 r Résistants
Fernandez Louis 1 r Roland Garros
Talbot André 1 r Sablière
Savigneau Joseph 1 r St Gervais
Fruchard Marcel 1 r Tiffauges
Duverger Odette 10 all Cerisaie
Brouard Paulette 10 all Gartempe
Alcade André 10 all Louise Labé
Brouard Albert 10 all Parc
Fargeau René 105 r des Joncs
Je pense que le tri de la colonne devrait s'opérer non sur le premier
caractère, un chiffre, mais plutôt sur la chaîne qui débute par la
première majuscule.
J'ignore comment faire, alors si qq1 peut m'aider, qu'il en soit
d'avance remercié ! :-)
Tu ajoutes une colonne, Tu y insères une formule de ce type : =STXT(B2;1;CHERCHE(" ";B2))*1 que tu recopies sur la colonne. Tu sélectionnes tout ton tableau et tu tries sur la colonne ajoutée. Tu peux masquer cette colonne si tu le désires.
MichD ------------------------------------------ "PC" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai un tableau avec une colonne 'Nom' et une colonne 'Adresse' (n° et nom de rue).
J'ai besoin de trier le tableau par rues, c'est à dire que tous les numéros d'une même rue se succèdent.
Par exemple, initialement, si je trie sur la colonne 'Adresse' j'obtiens :
Larochas Georges 1 r Provence Melin Colette 1 r Provence Berthet Robert 1 r Provence Magistry Denise 1 r Rapiettes Ravaud Madeleine 1 r Résistants Fernandez Louis 1 r Roland Garros Talbot André 1 r Sablière Savigneau Joseph 1 r St Gervais Fruchard Marcel 1 r Tiffauges Duverger Odette 10 all Cerisaie Brouard Paulette 10 all Gartempe Alcade André 10 all Louise Labé Brouard Albert 10 all Parc Fargeau René 105 r des Joncs Durand Henri 2 r Provence Gremaury Jean 2 r Provence Julot Edna 3 r Rapiettes
Or, je voudrais obtenir
Larochas Georges 1 r Provence Melin Colette 1 r Provence Berthet Robert 1 r Provence Durand Henri 2 r Provence Gremaury Jean 2 r Provence Magistry Denise 1 r Rapiettes Julot Edna 3 r Rapiettes Ravaud Madeleine 1 r Résistants Fernandez Louis 1 r Roland Garros Talbot André 1 r Sablière Savigneau Joseph 1 r St Gervais Fruchard Marcel 1 r Tiffauges Duverger Odette 10 all Cerisaie Brouard Paulette 10 all Gartempe Alcade André 10 all Louise Labé Brouard Albert 10 all Parc Fargeau René 105 r des Joncs
Je pense que le tri de la colonne devrait s'opérer non sur le premier caractère, un chiffre, mais plutôt sur la chaîne qui débute par la première majuscule.
J'ignore comment faire, alors si qq1 peut m'aider, qu'il en soit d'avance remercié ! :-)
Pierre
Bonjour,
Tu ajoutes une colonne,
Tu y insères une formule de ce type : =STXT(B2;1;CHERCHE(" ";B2))*1
que tu recopies sur la colonne.
Tu sélectionnes tout ton tableau et tu tries sur la colonne ajoutée.
Tu peux masquer cette colonne si tu le désires.
MichD
------------------------------------------
"PC" a écrit dans le message de groupe de discussion : nospam-A0DCE9.21255429092011@news.free.fr...
Bonjour,
J'ai un tableau avec une colonne 'Nom' et une colonne 'Adresse' (n° et
nom de rue).
J'ai besoin de trier le tableau par rues, c'est à dire que tous les
numéros d'une même rue se succèdent.
Par exemple, initialement, si je trie sur la colonne 'Adresse' j'obtiens
:
Larochas Georges 1 r Provence
Melin Colette 1 r Provence
Berthet Robert 1 r Provence
Magistry Denise 1 r Rapiettes
Ravaud Madeleine 1 r Résistants
Fernandez Louis 1 r Roland Garros
Talbot André 1 r Sablière
Savigneau Joseph 1 r St Gervais
Fruchard Marcel 1 r Tiffauges
Duverger Odette 10 all Cerisaie
Brouard Paulette 10 all Gartempe
Alcade André 10 all Louise Labé
Brouard Albert 10 all Parc
Fargeau René 105 r des Joncs
Durand Henri 2 r Provence
Gremaury Jean 2 r Provence
Julot Edna 3 r Rapiettes
Or, je voudrais obtenir
Larochas Georges 1 r Provence
Melin Colette 1 r Provence
Berthet Robert 1 r Provence
Durand Henri 2 r Provence
Gremaury Jean 2 r Provence
Magistry Denise 1 r Rapiettes
Julot Edna 3 r Rapiettes
Ravaud Madeleine 1 r Résistants
Fernandez Louis 1 r Roland Garros
Talbot André 1 r Sablière
Savigneau Joseph 1 r St Gervais
Fruchard Marcel 1 r Tiffauges
Duverger Odette 10 all Cerisaie
Brouard Paulette 10 all Gartempe
Alcade André 10 all Louise Labé
Brouard Albert 10 all Parc
Fargeau René 105 r des Joncs
Je pense que le tri de la colonne devrait s'opérer non sur le premier
caractère, un chiffre, mais plutôt sur la chaîne qui débute par la
première majuscule.
J'ignore comment faire, alors si qq1 peut m'aider, qu'il en soit
d'avance remercié ! :-)
Tu ajoutes une colonne, Tu y insères une formule de ce type : =STXT(B2;1;CHERCHE(" ";B2))*1 que tu recopies sur la colonne. Tu sélectionnes tout ton tableau et tu tries sur la colonne ajoutée. Tu peux masquer cette colonne si tu le désires.
MichD ------------------------------------------ "PC" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai un tableau avec une colonne 'Nom' et une colonne 'Adresse' (n° et nom de rue).
J'ai besoin de trier le tableau par rues, c'est à dire que tous les numéros d'une même rue se succèdent.
Par exemple, initialement, si je trie sur la colonne 'Adresse' j'obtiens :
Larochas Georges 1 r Provence Melin Colette 1 r Provence Berthet Robert 1 r Provence Magistry Denise 1 r Rapiettes Ravaud Madeleine 1 r Résistants Fernandez Louis 1 r Roland Garros Talbot André 1 r Sablière Savigneau Joseph 1 r St Gervais Fruchard Marcel 1 r Tiffauges Duverger Odette 10 all Cerisaie Brouard Paulette 10 all Gartempe Alcade André 10 all Louise Labé Brouard Albert 10 all Parc Fargeau René 105 r des Joncs Durand Henri 2 r Provence Gremaury Jean 2 r Provence Julot Edna 3 r Rapiettes
Or, je voudrais obtenir
Larochas Georges 1 r Provence Melin Colette 1 r Provence Berthet Robert 1 r Provence Durand Henri 2 r Provence Gremaury Jean 2 r Provence Magistry Denise 1 r Rapiettes Julot Edna 3 r Rapiettes Ravaud Madeleine 1 r Résistants Fernandez Louis 1 r Roland Garros Talbot André 1 r Sablière Savigneau Joseph 1 r St Gervais Fruchard Marcel 1 r Tiffauges Duverger Odette 10 all Cerisaie Brouard Paulette 10 all Gartempe Alcade André 10 all Louise Labé Brouard Albert 10 all Parc Fargeau René 105 r des Joncs
Je pense que le tri de la colonne devrait s'opérer non sur le premier caractère, un chiffre, mais plutôt sur la chaîne qui débute par la première majuscule.
J'ignore comment faire, alors si qq1 peut m'aider, qu'il en soit d'avance remercié ! :-)
Pierre
PC
Merci beaucoup mais... premièrement je n'arrive pas à faire la manoeuvre indiauée car je débute quasi (mais en persévérant qques heures je ne désespère pas !), et deuxièmement j'ai un doute :
Est-ce que cette formule n'agit pas en trouvant le caractère juste après la deuxième espace ? Si c'est le cas (?), ça ne marchera qu'imparfaitement.
Par exemple le "2 r de Roman" sera trié à partir de "de Roman" et sera rangé avec les rues commençant par 'D' au lieu de l'être à partir de "Roman", alors que le "2 r Roman" sera trié à partir de "Roman".
Problème également pour l'apostrophe (par exemple "2 r Holmes" et "2 r d'Holmes", cette deuxième adresse étant alors rangée elle aussi avec les rues commençant par 'D').
Mon idée de débuter le tri par la première majuscule serait alors mieux indiquée ?
Merci beaucoup mais... premièrement je n'arrive pas à faire la manoeuvre
indiauée car je débute quasi (mais en persévérant qques heures je ne
désespère pas !), et deuxièmement j'ai un doute :
Est-ce que cette formule n'agit pas en trouvant le caractère juste après
la deuxième espace ? Si c'est le cas (?), ça ne marchera
qu'imparfaitement.
Par exemple le "2 r de Roman" sera trié à partir de "de Roman" et sera
rangé avec les rues commençant par 'D' au lieu de l'être à partir de
"Roman", alors que le "2 r Roman" sera trié à partir de "Roman".
Problème également pour l'apostrophe (par exemple "2 r Holmes" et "2 r
d'Holmes", cette deuxième adresse étant alors rangée elle aussi avec les
rues commençant par 'D').
Mon idée de débuter le tri par la première majuscule serait alors mieux
indiquée ?
Merci beaucoup mais... premièrement je n'arrive pas à faire la manoeuvre indiauée car je débute quasi (mais en persévérant qques heures je ne désespère pas !), et deuxièmement j'ai un doute :
Est-ce que cette formule n'agit pas en trouvant le caractère juste après la deuxième espace ? Si c'est le cas (?), ça ne marchera qu'imparfaitement.
Par exemple le "2 r de Roman" sera trié à partir de "de Roman" et sera rangé avec les rues commençant par 'D' au lieu de l'être à partir de "Roman", alors que le "2 r Roman" sera trié à partir de "Roman".
Problème également pour l'apostrophe (par exemple "2 r Holmes" et "2 r d'Holmes", cette deuxième adresse étant alors rangée elle aussi avec les rues commençant par 'D').
Mon idée de débuter le tri par la première majuscule serait alors mieux indiquée ?
MichD
Énonce clairement ce que tu as dans chacune des colonnes
A1 -> Larochas Georges
B1 -> 1 r Provence
MichD ------------------------------------------ "PC" a écrit dans le message de groupe de discussion :
Merci beaucoup mais... premièrement je n'arrive pas à faire la manoeuvre indiauée car je débute quasi (mais en persévérant qques heures je ne désespère pas !), et deuxièmement j'ai un doute :
Est-ce que cette formule n'agit pas en trouvant le caractère juste après la deuxième espace ? Si c'est le cas (?), ça ne marchera qu'imparfaitement.
Par exemple le "2 r de Roman" sera trié à partir de "de Roman" et sera rangé avec les rues commençant par 'D' au lieu de l'être à partir de "Roman", alors que le "2 r Roman" sera trié à partir de "Roman".
Problème également pour l'apostrophe (par exemple "2 r Holmes" et "2 r d'Holmes", cette deuxième adresse étant alors rangée elle aussi avec les rues commençant par 'D').
Mon idée de débuter le tri par la première majuscule serait alors mieux indiquée ?
Énonce clairement ce que tu as dans chacune des colonnes
A1 -> Larochas Georges
B1 -> 1 r Provence
MichD
------------------------------------------
"PC" a écrit dans le message de groupe de discussion : nospam-87F7F4.22120129092011@news.free.fr...
Merci beaucoup mais... premièrement je n'arrive pas à faire la manoeuvre
indiauée car je débute quasi (mais en persévérant qques heures je ne
désespère pas !), et deuxièmement j'ai un doute :
Est-ce que cette formule n'agit pas en trouvant le caractère juste après
la deuxième espace ? Si c'est le cas (?), ça ne marchera
qu'imparfaitement.
Par exemple le "2 r de Roman" sera trié à partir de "de Roman" et sera
rangé avec les rues commençant par 'D' au lieu de l'être à partir de
"Roman", alors que le "2 r Roman" sera trié à partir de "Roman".
Problème également pour l'apostrophe (par exemple "2 r Holmes" et "2 r
d'Holmes", cette deuxième adresse étant alors rangée elle aussi avec les
rues commençant par 'D').
Mon idée de débuter le tri par la première majuscule serait alors mieux
indiquée ?
Énonce clairement ce que tu as dans chacune des colonnes
A1 -> Larochas Georges
B1 -> 1 r Provence
MichD ------------------------------------------ "PC" a écrit dans le message de groupe de discussion :
Merci beaucoup mais... premièrement je n'arrive pas à faire la manoeuvre indiauée car je débute quasi (mais en persévérant qques heures je ne désespère pas !), et deuxièmement j'ai un doute :
Est-ce que cette formule n'agit pas en trouvant le caractère juste après la deuxième espace ? Si c'est le cas (?), ça ne marchera qu'imparfaitement.
Par exemple le "2 r de Roman" sera trié à partir de "de Roman" et sera rangé avec les rues commençant par 'D' au lieu de l'être à partir de "Roman", alors que le "2 r Roman" sera trié à partir de "Roman".
Problème également pour l'apostrophe (par exemple "2 r Holmes" et "2 r d'Holmes", cette deuxième adresse étant alors rangée elle aussi avec les rues commençant par 'D').
Mon idée de débuter le tri par la première majuscule serait alors mieux indiquée ?
PC
Au départ j'ai les colonnes comme indiqué dans le premier post.
Puis quand je rentre la formule dans la colonne C (sur une cellule pour commencer) j'obtiens #VALEUR!...
In article <j62l09$bbq$, "MichD" wrote:
Énonce clairement ce que tu as dans chacune des colonnes
A1 -> Larochas Georges
B1 -> 1 r Provence
Au départ j'ai les colonnes comme indiqué dans le premier post.
Puis quand je rentre la formule dans la colonne C (sur une cellule pour
commencer) j'obtiens #VALEUR!...
In article <j62l09$bbq$1@speranza.aioe.org>,
"MichD" <michdenis@hotmail.com> wrote:
Énonce clairement ce que tu as dans chacune des colonnes
Au départ j'ai les colonnes comme indiqué dans le premier post.
Puis quand je rentre la formule dans la colonne C (sur une cellule pour commencer) j'obtiens #VALEUR!...
In article <j62l09$bbq$, "MichD" wrote:
Énonce clairement ce que tu as dans chacune des colonnes
A1 -> Larochas Georges
B1 -> 1 r Provence
PC
Ça y est, j'ai réussi à appliquer ta formule (oublie mon message précédent).
Elle améliore les choses, mais ce n'est pas ce qu'il me faut. Je m'explique :
ta formule permet de modifier le classement des adresses avec n° de rues ; par exemple
1 all Aristide Caillaud 1 r des Joncs 10 chem Parc à Fourrages 10 r Alsace Lorraine 101 bd Pont Achard 102 bd Rocs 103 bis r Haut des Sables 2 all Aristide Caillaud
va devenir
1 all Aristide Caillaud 1 r des Joncs 2 all Aristide Caillaud 10 chem Parc à Fourrages 10 r Alsace Lorraine 101 bd Pont Achard 102 bd Rocs 103 bis r Haut des Sables
on obtient donc un tri opéré via les n° de rues seuls, mais moi je veux obtenir
10 r Alsace Lorraine 1 all Aristide Caillaud 2 all Aristide Caillaud 103 bis r Haut des Sables 1 r des Joncs 10 chem Parc à Fourrages 101 bd Pont Achard 102 bd Rocs
où les rues sont regroupées.
D'où mon idée de faire le tri à partir de la première majuscule (ce qui permet d'éviter les problèmes d'apostrophe, d'articles ("r de Roman" ou "r Roman" et ceux engendrés par les "bis" ou "ter"...).
Ça y est, j'ai réussi à appliquer ta formule (oublie mon message
précédent).
Elle améliore les choses, mais ce n'est pas ce qu'il me faut. Je
m'explique :
ta formule permet de modifier le classement des adresses avec n° de rues
; par exemple
1 all Aristide Caillaud
1 r des Joncs
10 chem Parc à Fourrages
10 r Alsace Lorraine
101 bd Pont Achard
102 bd Rocs
103 bis r Haut des Sables
2 all Aristide Caillaud
va devenir
1 all Aristide Caillaud
1 r des Joncs
2 all Aristide Caillaud
10 chem Parc à Fourrages
10 r Alsace Lorraine
101 bd Pont Achard
102 bd Rocs
103 bis r Haut des Sables
on obtient donc un tri opéré via les n° de rues seuls, mais moi je veux
obtenir
10 r Alsace Lorraine
1 all Aristide Caillaud
2 all Aristide Caillaud
103 bis r Haut des Sables
1 r des Joncs
10 chem Parc à Fourrages
101 bd Pont Achard
102 bd Rocs
où les rues sont regroupées.
D'où mon idée de faire le tri à partir de la première majuscule (ce qui
permet d'éviter les problèmes d'apostrophe, d'articles ("r de Roman" ou
"r Roman" et ceux engendrés par les "bis" ou "ter"...).
Ça y est, j'ai réussi à appliquer ta formule (oublie mon message précédent).
Elle améliore les choses, mais ce n'est pas ce qu'il me faut. Je m'explique :
ta formule permet de modifier le classement des adresses avec n° de rues ; par exemple
1 all Aristide Caillaud 1 r des Joncs 10 chem Parc à Fourrages 10 r Alsace Lorraine 101 bd Pont Achard 102 bd Rocs 103 bis r Haut des Sables 2 all Aristide Caillaud
va devenir
1 all Aristide Caillaud 1 r des Joncs 2 all Aristide Caillaud 10 chem Parc à Fourrages 10 r Alsace Lorraine 101 bd Pont Achard 102 bd Rocs 103 bis r Haut des Sables
on obtient donc un tri opéré via les n° de rues seuls, mais moi je veux obtenir
10 r Alsace Lorraine 1 all Aristide Caillaud 2 all Aristide Caillaud 103 bis r Haut des Sables 1 r des Joncs 10 chem Parc à Fourrages 101 bd Pont Achard 102 bd Rocs
où les rues sont regroupées.
D'où mon idée de faire le tri à partir de la première majuscule (ce qui permet d'éviter les problèmes d'apostrophe, d'articles ("r de Roman" ou "r Roman" et ceux engendrés par les "bis" ou "ter"...).
Maude Este
Bonsour®
"PC" a écrit D'où mon idée de faire le tri à partir de la première majuscule (ce qui permet d'éviter les problèmes d'apostrophe, d'articles ("r de Roman" ou "r Roman" et ceux engendrés par les "bis" ou "ter"...).
:-(( cette recherche de majuscule est un procédé itératif , difficilement transposable sous forme de formule ...
utiliser une fonction personnalisée :
Function PosMaj(target As String) As Integer 'trouve la position d'une majuscule dans un string For x = 1 To Len(target) If Mid(target, x, 1) Like "[A-Z]" Then PosMaj = x Exit For End If Next End Function
;o))) mise en oeuvre : http://www.cijoint.fr/cjlink.php?file=cj201109/cijBEajrw7.xls
Bonsour®
"PC" a écrit
D'où mon idée de faire le tri à partir de la première majuscule (ce qui
permet d'éviter les problèmes d'apostrophe, d'articles ("r de Roman" ou
"r Roman" et ceux engendrés par les "bis" ou "ter"...).
:-((
cette recherche de majuscule est un procédé itératif , difficilement
transposable sous forme de formule ...
utiliser une fonction personnalisée :
Function PosMaj(target As String) As Integer
'trouve la position d'une majuscule dans un string
For x = 1 To Len(target)
If Mid(target, x, 1) Like "[A-Z]" Then
PosMaj = x
Exit For
End If
Next
End Function
;o))) mise en oeuvre :
http://www.cijoint.fr/cjlink.php?file=cj201109/cijBEajrw7.xls
"PC" a écrit D'où mon idée de faire le tri à partir de la première majuscule (ce qui permet d'éviter les problèmes d'apostrophe, d'articles ("r de Roman" ou "r Roman" et ceux engendrés par les "bis" ou "ter"...).
:-(( cette recherche de majuscule est un procédé itératif , difficilement transposable sous forme de formule ...
utiliser une fonction personnalisée :
Function PosMaj(target As String) As Integer 'trouve la position d'une majuscule dans un string For x = 1 To Len(target) If Mid(target, x, 1) Like "[A-Z]" Then PosMaj = x Exit For End If Next End Function
;o))) mise en oeuvre : http://www.cijoint.fr/cjlink.php?file=cj201109/cijBEajrw7.xls
PC
Merci beaucoup Maude, ça fonctionne !
Petit mystère pour moi, je suis obligé pour cela d'utiliser votre propre tableau exemple et d'y coller une par une mes colonnes personnelles.
En effet, si j'essaie d'utiliser votre formule dans mon propre tableau, j'obtiens un #NOM? dans la colonne posmaj. Idem lorsque je colle l'intégralité de votre tableau dans un tableau créé ex nihilo. Pourtant la formule est bien présente dans la liste des formules et la syntaxe est bien la même dans mes cellules.
Comprends pas !!
(Mais déjà là, avec mon tableau bien trié, j'évite un sacré nombre d'heures de boulot grâce à vous...)
Pierre
In article <j6421t$dbh$, "Maude Este" wrote:
Bonsour®
"PC" a écrit D'où mon idée de faire le tri à partir de la première majuscule (ce qui permet d'éviter les problèmes d'apostrophe, d'articles ("r de Roman" ou "r Roman" et ceux engendrés par les "bis" ou "ter"...).
:-(( cette recherche de majuscule est un procédé itératif , difficilement transposable sous forme de formule ...
utiliser une fonction personnalisée :
Function PosMaj(target As String) As Integer 'trouve la position d'une majuscule dans un string For x = 1 To Len(target) If Mid(target, x, 1) Like "[A-Z]" Then PosMaj = x Exit For End If Next End Function
;o))) mise en oeuvre : http://www.cijoint.fr/cjlink.php?file=cj201109/cijBEajrw7.xls
Merci beaucoup Maude, ça fonctionne !
Petit mystère pour moi, je suis obligé pour cela d'utiliser votre propre
tableau exemple et d'y coller une par une mes colonnes personnelles.
En effet, si j'essaie d'utiliser votre formule dans mon propre tableau,
j'obtiens un #NOM? dans la colonne posmaj. Idem lorsque je colle
l'intégralité de votre tableau dans un tableau créé ex nihilo. Pourtant
la formule est bien présente dans la liste des formules et la syntaxe
est bien la même dans mes cellules.
Comprends pas !!
(Mais déjà là, avec mon tableau bien trié, j'évite un sacré nombre
d'heures de boulot grâce à vous...)
Pierre
In article <j6421t$dbh$1@speranza.aioe.org>,
"Maude Este" <nomail@live.fr> wrote:
Bonsour®
"PC" a écrit
D'où mon idée de faire le tri à partir de la première majuscule (ce qui
permet d'éviter les problèmes d'apostrophe, d'articles ("r de Roman" ou
"r Roman" et ceux engendrés par les "bis" ou "ter"...).
:-((
cette recherche de majuscule est un procédé itératif , difficilement
transposable sous forme de formule ...
utiliser une fonction personnalisée :
Function PosMaj(target As String) As Integer
'trouve la position d'une majuscule dans un string
For x = 1 To Len(target)
If Mid(target, x, 1) Like "[A-Z]" Then
PosMaj = x
Exit For
End If
Next
End Function
;o))) mise en oeuvre :
http://www.cijoint.fr/cjlink.php?file=cj201109/cijBEajrw7.xls
Petit mystère pour moi, je suis obligé pour cela d'utiliser votre propre tableau exemple et d'y coller une par une mes colonnes personnelles.
En effet, si j'essaie d'utiliser votre formule dans mon propre tableau, j'obtiens un #NOM? dans la colonne posmaj. Idem lorsque je colle l'intégralité de votre tableau dans un tableau créé ex nihilo. Pourtant la formule est bien présente dans la liste des formules et la syntaxe est bien la même dans mes cellules.
Comprends pas !!
(Mais déjà là, avec mon tableau bien trié, j'évite un sacré nombre d'heures de boulot grâce à vous...)
Pierre
In article <j6421t$dbh$, "Maude Este" wrote:
Bonsour®
"PC" a écrit D'où mon idée de faire le tri à partir de la première majuscule (ce qui permet d'éviter les problèmes d'apostrophe, d'articles ("r de Roman" ou "r Roman" et ceux engendrés par les "bis" ou "ter"...).
:-(( cette recherche de majuscule est un procédé itératif , difficilement transposable sous forme de formule ...
utiliser une fonction personnalisée :
Function PosMaj(target As String) As Integer 'trouve la position d'une majuscule dans un string For x = 1 To Len(target) If Mid(target, x, 1) Like "[A-Z]" Then PosMaj = x Exit For End If Next End Function
;o))) mise en oeuvre : http://www.cijoint.fr/cjlink.php?file=cj201109/cijBEajrw7.xls
Maude Este
"PC" a écrit Petit mystère pour moi, je suis obligé pour cela d'utiliser votre propre tableau exemple et d'y coller une par une mes colonnes personnelles.
Pourtant la formule est bien présente dans la liste des formules et la syntaxe est bien la même dans mes cellules.
Comprends pas !!
Il vous faut creer un classeur regroupant les macros-personnelles que vous souhaitez mettre à disposition de tout vos classeurs... http://www.commentcamarche.net/faq/28980-creation-classeur-de-macros-personnalisees-2007
alternative ajoutez cette fonction personnalisée (posMaj) uniquement à chaque classeur le nécessitant
dans les deux cas il faut accéder à l'éditeur VBA (VBE) alt-F11
"PC" a écrit
Petit mystère pour moi, je suis obligé pour cela d'utiliser votre propre
tableau exemple et d'y coller une par une mes colonnes personnelles.
Pourtant
la formule est bien présente dans la liste des formules et la syntaxe
est bien la même dans mes cellules.
Comprends pas !!
Il vous faut creer un classeur regroupant les macros-personnelles
que vous souhaitez mettre à disposition de tout vos classeurs...
http://www.commentcamarche.net/faq/28980-creation-classeur-de-macros-personnalisees-2007
alternative ajoutez cette fonction personnalisée (posMaj)
uniquement à chaque classeur le nécessitant
dans les deux cas il faut accéder à l'éditeur VBA (VBE) alt-F11
"PC" a écrit Petit mystère pour moi, je suis obligé pour cela d'utiliser votre propre tableau exemple et d'y coller une par une mes colonnes personnelles.
Pourtant la formule est bien présente dans la liste des formules et la syntaxe est bien la même dans mes cellules.
Comprends pas !!
Il vous faut creer un classeur regroupant les macros-personnelles que vous souhaitez mettre à disposition de tout vos classeurs... http://www.commentcamarche.net/faq/28980-creation-classeur-de-macros-personnalisees-2007
alternative ajoutez cette fonction personnalisée (posMaj) uniquement à chaque classeur le nécessitant
dans les deux cas il faut accéder à l'éditeur VBA (VBE) alt-F11
MichD
Bonjour,
La fonction de Maude doit être écrite dans un MODULE STANDARD. Comme tu as copié la fonction dans un autre type de module, cela explique pourquoi la cellule te renvoie une valeur d'erreur #Nom. Excel ne reconnait pas la fonction... Il ne la trouve pas. Dans la fenêtre de l'éditeur de code (Alt + F11) Barre des menus / Insertion / Module et tu copies le code : '---------------------------------------- Function PosMaj(target As String) As Integer 'trouve la position d'une majuscule dans un string For x = 1 To Len(target) If Mid(target, x, 1) Like "[A-Z]" Then PosMaj = x Exit For End If Next End Function '----------------------------------------
Et dans ton application, si tu n'utilises pas la même plage de cellules que Maude, tu dois adapter.
MichD ------------------------------------------
Bonjour,
La fonction de Maude doit être écrite dans un MODULE STANDARD. Comme tu as copié la fonction dans un autre type de module,
cela explique pourquoi la cellule te renvoie une valeur d'erreur #Nom. Excel ne reconnait pas la fonction... Il ne la trouve
pas.
Dans la fenêtre de l'éditeur de code (Alt + F11)
Barre des menus / Insertion / Module
et tu copies le code :
'----------------------------------------
Function PosMaj(target As String) As Integer
'trouve la position d'une majuscule dans un string
For x = 1 To Len(target)
If Mid(target, x, 1) Like "[A-Z]" Then
PosMaj = x
Exit For
End If
Next
End Function
'----------------------------------------
Et dans ton application, si tu n'utilises pas la même plage de cellules que Maude, tu dois adapter.
La fonction de Maude doit être écrite dans un MODULE STANDARD. Comme tu as copié la fonction dans un autre type de module, cela explique pourquoi la cellule te renvoie une valeur d'erreur #Nom. Excel ne reconnait pas la fonction... Il ne la trouve pas. Dans la fenêtre de l'éditeur de code (Alt + F11) Barre des menus / Insertion / Module et tu copies le code : '---------------------------------------- Function PosMaj(target As String) As Integer 'trouve la position d'une majuscule dans un string For x = 1 To Len(target) If Mid(target, x, 1) Like "[A-Z]" Then PosMaj = x Exit For End If Next End Function '----------------------------------------
Et dans ton application, si tu n'utilises pas la même plage de cellules que Maude, tu dois adapter.
MichD ------------------------------------------
PC
Merci beaucoup, vraiment, à vous deux ; je n'arrivais pas à m'en sortir sur ce point !
Merci beaucoup, vraiment, à vous deux ; je n'arrivais pas à m'en sortir
sur ce point !