enregistrer par ordre alphabetique

L

loulou

Guest
Salut a tous,

si quelqu'un pouvait m'aider a trouver le code qui va bien :

J'ai un fichier Excel qui me sert de base de données, je souhaite ajouter au fur et a mesure des données.

Le probleme c'est que il faut que j'insère une ligne au bon endroit pour que les infos se suivent alphabetiquement.

y a t'il un moyen avec une box de faire cela automatiquement ?

Merci et a bientôt

Loulou
 
@

@+Thierry

Guest
Mini Démo => enregistrer par ordre alphabetique depuis un USF

Salut Loulou

Pourquoi vouloir insérer à l'endroit de son ordre alpha... Tu te compliques là vie...

Dans la mini démo ci-joint, tu verras que je mets le new item à la fin de la liste à la dernière ligne, puis une seconde macro fait un "Sort"... et le tour est joué...

Regardes, mini démo exprès pour toi !!!

Bonne Soirée
@+Thierry
 

Pièces jointes

  • USF-TextBox-de-Saisie.zip
    10.3 KB · Affichages: 34
L

loulou

Guest
Re: Mini Démo => enregistrer par ordre alphabetique depuis un USF

Merci Thierry et merci Andre,

A tous les deux vous venez de résoudre mon problème. je ne connaissais pas la fonction trier?

donc :
1ere etape : - enregistrer les valeurs avec la macro de Thierry
2em etape : - trier avec la fonstion d'andre

Y'a des jours, je me demande pourquoi on ne pense pas a tout ca!!!

Thierry, stp, lorsque j'execute la macro, le texte va bien s'afficher dans la case mais le programme s'arrête en me retournant le message d'erreur :
"Erreur d'execution 1004"
"la methode sort de le classe Range a échoué"
Si tu pouvais m'expliquer

Merci a tous les 2
Loulou
 
V

Vériland

Guest
Re: Mini Démo => enregistrer par ordre alphabetique depuis un USF

Bonsoir le Forum,

Oups je ne sais pas ce qui a bien pu t'arriver Loulou, mais je viens d'essayer le fichier de Thierry et celui-ci ne signale aucune erreur...j'y ai même mis du chiffre à la place des lettres et cela marche vraiment bien...(Win Me / Excel 2000)...bon p'têt qu'il y aurait une fonction qui n'est pas installée chez toi...ou même simplement la version d'Excel que tu utilises...

Ceci dit je retourne vers cet Userform, qui est tout simplement génial...lol...c'est à se demander pourquoi Excel ne propose pas ce type d'action d'emblée avec le logiciel...Mini démo ?...mais pour moi c'est une Maxi démo...Maousse kosto...elle fait le maximum du travail en un coup de clic...hi hi hi...

A+ Vériland
 
@

@+Thierry

Guest
IMPORTANT =>TEST Pour Démo => enregistrer par ordre alphabetique depuis un USF

Bonsoir

Je viens de rentrer........

En fait c'est un test ce fil........... Un test pour Excel 97...

Comme le dit Pat5, il y a un trouble avec ce code : le même utilisé par le "Contact Manager"....... c'est quand même zarbi.... (Zarbi vous avez dit Zarbi........ comme c'est Zarbi !!)


SVP JE DEMANDE A TOUT UTILISATEUR D'XL 97 DE TESTER AVEC CE CODE... OU DE TESTER LE FICHIER CI-JOINT... (Merci ... pour les autres Utilisateurs d'XL 97)

Private Sub SortNomXL97()
Dim LL As Integer
Dim Plage As Range
LL = ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Row
Set Plage = ThisWorkbook.Sheets(1).Range("A1:A" & LL)
Plage.Sort ThisWorkbook.Sheets(1).Columns("A"), _
Order1:=xlAscending, Header:=xlGuess
End Sub

Au début avec Ti on a pensé que le USF était lancé depuis VBE... (c'est pour çà "ThisWorkBook"...) mais bon c'est apparemment C'est le Set de plage qui cafouille...sous ce bon vieux XL 97 avec lequel j'ai tant appris.......

Bon alors on va tester en live un truc avec toi LouLou...... Un remplacement de macro en direct Live (excusivité XLD !! lol)

Private Sub SortNomXL97()
Dim LL As Integer
LL = ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Row
ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Sort _
ThisWorkbook.Sheets(1).Columns("A"), _
Order1:=xlAscending, Header:=xlGuess
End Sub

On devrait avoir un résultat positif ce coup-ci !!!!!!! ( I badly hope !!)

Donc rendez-vous ici pour vos impressions sur le fichier joint......

C'est important car c'est partie intégrante de D(un gros projet commun en cours....

Merci.......

La version ci-joint utilise un moyen d'identifier la version !!! je l'utilise for the first time....

C'est encore grace à Ti !!! :)))))

en attendant vos commentaires.....
@+Thierry
 

Pièces jointes

  • USF-TextBox-de-Saisie-V2.zip
    19.8 KB · Affichages: 33
P

pat5

Guest
Bonjour le forum

@+Thierry, j'ai testé ton fichier sous Excel 97 la même erreur qu'avant "La méthode Sort a échoué etc...." pour la première validation. Après ça marche . Ci-joint l'aide d'Excel 97 ( à moins que tu l'ai ? ) :
Erreur macro

Il s'agit d'une erreur provoquée par la macro en cours d'exécution. La méthode indiquée ne peut pas être utilisée avec l'objet spécifié pour l'une des raisons suivantes :

Un argument contient une valeur qui n'est pas valide. Ce problème se produit généralement lors de l'accès à un objet qui n'existe pas, par exemple, Workbooks(5) lorsque seuls trois classeurs sont ouverts.
La méthode ne peut pas être utilisée dans le contexte. Par exemple, certains objets Range nécessitent une plage qui contient des données. Si la plage ne contient pas de données, la méthode échoue.
Une erreur externe s'est produite, telle que l'échec de lecture ou d'écriture dans un fichier.


Pour trouver la version Excel, c'est bon mais après il y a une 2ème UF qui dit :
Je vais essayer une autre macro et qui plante. Pour le moment, je ne vois que ça.

Bon après-midi
A+ Salut ;o)
 
@

@+Thierry

Guest
Re: Mini Démo => enregistrer par ordre alphabetique depuis un USF

Merci Beaucoup Pat pour ce test...

Je ne vois pas vraiment encore comment faire...

Hey les gars !! pourquoi vous voulez pas passer en XL 2000 !! (lol)

On peut essayer de préciser le nom de sheet au lieu de son Index....
Private Sub SortNomXL97()
Dim LL As Integer
LL = ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Row
ThisWorkbook.Sheets("sheet1").Range("A65536").End(xlUp).Sort _
ThisWorkbook.Sheets("sheet1").Columns("A"), _
Order1:=xlAscending, Header:=xlGuess
End Sub

...@Suivre
@+Thierry
 
L

loulou

Guest
Re: Mini Démo => enregistrer par ordre alphabetique depuis un USF

Salut Thierry,

Excuse pour le retard de la réponse, absence oblige.
J'ai essayé la macro que tu m'as fais parvenir :

Private Sub SortNomXL97()
Dim LL As Integer
LL = ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Row
ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Sort _
ThisWorkbook.Sheets(1).Columns("A"), _
Order1:=xlAscending, Header:=xlGuess
End Sub

Excel me retourne un message du type :
erreur de compilation
nom ambigu detecté : SortNomXL97

Pour ton INfo je posséde w2000 et office 97

Merci et A+
Loulou
 
@

@+Thierry

Guest
Re: Mini Démo => enregistrer par ordre alphabetique depuis un USF

Salut Loulou, Bonsoir le Forum

Je suis assez débordé en ce moment avec tout plein de taff...

Pour "nom ambigu detecté : SortNomXL97"

C'est qu'il semble que tu aies copier la macro que j'ai postée le 21-01-03 16:10 en laissant celle qui se trouve déjà dans le Private Module...
Il faut la remplacer et PAS l'ajouter...

Si tu as deux macro du même nom c'est normal que VBA n'aime pas !

Ré-essaies et tiens moi au courant
Bonne Soirée
@+Thierry
 
L

loulou

Guest
Salut Thierry,

Tu avais raison il y avait 2 macros de même nom.
J'ai arrngé ça et J'ai testé le code, mais c'est pareil il me renvoi le message :
erreur 1004
la methode Sort de la classe Range a echoue.

Merci Thierry et A+

Loulou
 

Discussions similaires

Statistiques des forums

Discussions
312 378
Messages
2 087 759
Membres
103 660
dernier inscrit
205 Peugeot