Bonjour à toutes et à tous.
J'ai créé une macro pour insérer automatiquement une ligne dans un tableau, puis pour faire un tri (le tableau comprenant des noms, je souhaite les classer par ordre alphabétique). Cette macro est faite et semble fonctionner. Les seuls petits problème, c'est que je ne sais pas comment affecter la macro au bouton (oui, je sais, je suis vraiment nul!).
L'autre souci, plus compliqué, c'est qu'une fois la ligne insérée et après le report d'une formule dans une des cellules, il faut qu'une boite de dialogue apparaisse pour me demander le nom, prénom, code... et ça, je sais pas faire 🙁 , puis ensuite il reprend la macro avec le tri par nom de famille. Je dois remplir la ligne, évidemment, avant qu'il fasse le tri.
Comment faire pour créer cette boite de dialogue, comment l'insérer dans ma macro, et comment faire pour qu'elle reporte ce que j'inscrit dans les bonnes cellules?
Petite précision, si j'insère une ligne en plein milieu du tableau, c'est qu'il y a une selection (nommé liste_noms dans mon tableau)et si j'insère en plein milieu, ça me permet qu'elle s'ajuste automatiquement au niveau des références, ce qui ne se ferait pas si je remplissais une ligne à la fin du tableau
Je n'arrive pas à joindre le fichier (trop lourd), donc voici le code.
Sub Insertion_ligne()
'
' Insertion_ligne Macro
' Macro enregistrée le 27/08/2005 par Menneret
'
' Touche de raccourci du clavier: Ctrl+i
'
ActiveWindow.SmallScroll Down:=9
Rows('17:17').Select
Selection.Insert Shift:=xlDown
Range('A16').Select
Selection.AutoFill Destination:=Range('A16:A17'), Type:=xlFillDefault
Range('A16:A17').Select
ActiveWindow.SmallScroll Down:=-9
Range('D5').Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range('D5'), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range('A2').Select
End Sub
Merci, merci et encore merci pour vos réponses :woohoo:
Message édité par: franck70, à: 27/08/2005 14:05
Message édité par: franck70, à: 27/08/2005 14:09
J'ai créé une macro pour insérer automatiquement une ligne dans un tableau, puis pour faire un tri (le tableau comprenant des noms, je souhaite les classer par ordre alphabétique). Cette macro est faite et semble fonctionner. Les seuls petits problème, c'est que je ne sais pas comment affecter la macro au bouton (oui, je sais, je suis vraiment nul!).
L'autre souci, plus compliqué, c'est qu'une fois la ligne insérée et après le report d'une formule dans une des cellules, il faut qu'une boite de dialogue apparaisse pour me demander le nom, prénom, code... et ça, je sais pas faire 🙁 , puis ensuite il reprend la macro avec le tri par nom de famille. Je dois remplir la ligne, évidemment, avant qu'il fasse le tri.
Comment faire pour créer cette boite de dialogue, comment l'insérer dans ma macro, et comment faire pour qu'elle reporte ce que j'inscrit dans les bonnes cellules?
Petite précision, si j'insère une ligne en plein milieu du tableau, c'est qu'il y a une selection (nommé liste_noms dans mon tableau)et si j'insère en plein milieu, ça me permet qu'elle s'ajuste automatiquement au niveau des références, ce qui ne se ferait pas si je remplissais une ligne à la fin du tableau
Je n'arrive pas à joindre le fichier (trop lourd), donc voici le code.
Sub Insertion_ligne()
'
' Insertion_ligne Macro
' Macro enregistrée le 27/08/2005 par Menneret
'
' Touche de raccourci du clavier: Ctrl+i
'
ActiveWindow.SmallScroll Down:=9
Rows('17:17').Select
Selection.Insert Shift:=xlDown
Range('A16').Select
Selection.AutoFill Destination:=Range('A16:A17'), Type:=xlFillDefault
Range('A16:A17').Select
ActiveWindow.SmallScroll Down:=-9
Range('D5').Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range('D5'), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range('A2').Select
End Sub
Merci, merci et encore merci pour vos réponses :woohoo:
Message édité par: franck70, à: 27/08/2005 14:05
Message édité par: franck70, à: 27/08/2005 14:09