Ordre alphabétique

Sophie1981 Messages postés 10 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 mai 2006 - 4 mai 2006 à 09:01
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 5 mai 2006 à 05:57
Bonjour,

J'ai besoin de votre aide.... !
J'aurai besoin d'une macro me permettant d'insérer une plage de cellules directement à sa place dans l'ordre alphabétique.

Par exemple, je tape un nom et une adresse, et j'ai besoin de stocker cette info dans un répertoire, par ordre alphabétique pour plus de clarté.

Auriez vous une solution?
(je suis TOUTE JEUNE débutante...)

Merci à vous

7 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
4 mai 2006 à 09:35
Salut,

Essai ça :

Range("A1:B8").Select 'remplace la bonne plage de données
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

@ ++

Mortalino
0
Sophie1981 Messages postés 10 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 mai 2006
4 mai 2006 à 10:42
ça ne marche pas !! (mais peut-être que je m'y prend mal... d'ailleurs c'est sûrement ça !)

Je vous joins une impression d'écran de ma base, pour que vous voyez bien comment elle fonctionne (parce que ce n'est pas évident de l'expliquer... chui nulle !!)

merci encore pour votre aide
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
4 mai 2006 à 11:45
Désolé mes les images je ne les vois pas.
Je suppose que tu es avec Access, si c'est le cas, ca ne marchera pas car c'est pour Excel,

Je ne connais pas (peu) access donc si c'est ton cas je suis désolé mais j'abdique.
0
Sophie1981 Messages postés 10 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 mai 2006
4 mai 2006 à 11:56
non non, je suis bien sur excel !

bon, alors si les images ne fonctionnent pas, je vais essayer de m'expliquer mieux :

sur ma feuille, dans la zone B2 à F2, j'ai mis les titres suivants : bénéficiaire, adresse 1, adresse 2, adresse 3 et ville
dans les cellules B3 à F3, j'entre les infos concernant un nouveau bénéficiaire.

sur la zone B7 à F7, j'ai les mêmes titres.
et à partir de B8:F8, jusqu'à ... l'infini, j'ai des infos concernant les bénéficiaires déjà créés.

Donc en fait ce que je voudrais, c'est que les infos que je tape dans mes cellules B3 à F3, une fois validées (par ex par un clic s/bouton), s'insèrent
directement dans la liste des bénéficiaires, dans l'ordre alphabétique...

J'espère que c'est plus clair maintenant... et désolée de vous embêter...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
4 mai 2006 à 12:20
Alors place un bouton sur ta feuille Excel puis double click dessus puis

Sub CommandButton1_Click()
Dim PremLiVide As Long
PremLiVide = Columns(2).Find("", [B65500], , , xlByRows, xlPrevious).Row

Range("B3:F3").Copy
Cells(PremLiVide, 2).Select
Selection.Paste

Range("B8:F" & PremLiVide).Select
Selection.Sort Key1:=Range("B8"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

End Sub

En gros il cherche la 1ere ligne vide en remontant de B65500, une fois trouvé, tes données placées de B3 à F3 sont mis a la fin de la liste puis le tri est fait de B8 à F derniere ligne.

Dis moi si ca te convient

Mortalino
0
Sophie1981 Messages postés 10 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 mai 2006
4 mai 2006 à 14:52
je suis VRAIMENT désolée, mais j'ai encore un message d'erreur...
"propriété ou méthode non gérée par cet objet"...
et au débogage, la ligne "selection.paste" est surlignée...

sinon, ça me va nickel, peu importent les moyens, du moment que j'ai mon résultat...

merci encore pour ce code qui va me permettre de gagner BEAUCOUP de temps....
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
5 mai 2006 à 05:57
Resalut (désolé pour le retard)!

à la place de
Cells(PremLiVide, 2).Select met
Range("B" & PremLiVide).Select

peut -etre que là il acceptera la syntaxe

Mortalino
0
Rejoignez-nous