VBA tableau Excel
REDZEN
-
redzen -
redzen -
Bonjour,
J’ai posté une question dans le forum le 20/02/07. J’ai eu une réponse qui est satisfaisante et je remercie la charmante personne qui m’a aidé. J’ai toutefois besoin d’un complément. Mon tableau excel (qui est en évolution constante : ajouts fréquent de lignes) débute à la cellule A5 (la ligne 5 est la ligne des titres des colonnes). Voici trois macro.
- J’aimerais avec la première réaliser un tri par date au niveau de la colonne A. De plus j’aimerais faire terminer cette macro sur la dernière cellule de la première colonne donc de la colonne A. Je pense y être pour ce qui est de la première partie mais de la seconde.
- Avec la seconde, je souhaiterais faire un tri (colonne Q) des lignes par cases possédant une croix (au début du tableau) et par cases sans croix (à la fin du tableau). De plus j’aimerais faire terminer cette macro sur la dernière cellule de la première colonne donc de la colonne A.
- Sur la troisième je fais ajouter une ligne vierge au niveau de la ligne 7. Mais je souhaiterais ajouter cette ligne à la fin du tableau et que cette ligne garde les caractéristiques (formules, formats…) de celles du dessus.
Merci d’aider un néophyte du VBA en modifiant puis en collant les macros ci-dessous dans votre réponse.
De plus, que pensez-vous du centre de formation informatique ENI de Nantes. Est-ce une bonne école ?
Sub TRIDATES()
'
' TRIDATES Macro
' Macro enregistrée le 13/02/2007 par maindron
'
' Touche de raccourci du clavier: Ctrl+é
'
Range("A5").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToDown)).Select
Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A6").Select
End Sub
Sub TRIBOULAGE()
'
' TRIBOULAGE Macro
' Macro enregistrée le 13/02/2007 par maindron
'
' Touche de raccourci du clavier: Ctrl+è
'
Range("A5").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToDown)).Select
Selection.Sort Key1:=Range("Q6"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A6").Select
End Sub
Sub AJOUTLIGNE()
'
' AJOUTLIGNE Macro
' Macro enregistrée le 13/02/2007 par maindron
'
' Touche de raccourci du clavier: Ctrl+à
'
Rows("7:7").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll ToRight:=12
Range("R6:AC6").Select
Selection.AutoFill Destination:=Range("R6:AC7"), Type:=xlFillDefault
Range("R6:AC7").Select
ActiveWindow.ScrollColumn = 1
Range("A7").Select
End Sub
J’ai posté une question dans le forum le 20/02/07. J’ai eu une réponse qui est satisfaisante et je remercie la charmante personne qui m’a aidé. J’ai toutefois besoin d’un complément. Mon tableau excel (qui est en évolution constante : ajouts fréquent de lignes) débute à la cellule A5 (la ligne 5 est la ligne des titres des colonnes). Voici trois macro.
- J’aimerais avec la première réaliser un tri par date au niveau de la colonne A. De plus j’aimerais faire terminer cette macro sur la dernière cellule de la première colonne donc de la colonne A. Je pense y être pour ce qui est de la première partie mais de la seconde.
- Avec la seconde, je souhaiterais faire un tri (colonne Q) des lignes par cases possédant une croix (au début du tableau) et par cases sans croix (à la fin du tableau). De plus j’aimerais faire terminer cette macro sur la dernière cellule de la première colonne donc de la colonne A.
- Sur la troisième je fais ajouter une ligne vierge au niveau de la ligne 7. Mais je souhaiterais ajouter cette ligne à la fin du tableau et que cette ligne garde les caractéristiques (formules, formats…) de celles du dessus.
Merci d’aider un néophyte du VBA en modifiant puis en collant les macros ci-dessous dans votre réponse.
De plus, que pensez-vous du centre de formation informatique ENI de Nantes. Est-ce une bonne école ?
Sub TRIDATES()
'
' TRIDATES Macro
' Macro enregistrée le 13/02/2007 par maindron
'
' Touche de raccourci du clavier: Ctrl+é
'
Range("A5").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToDown)).Select
Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A6").Select
End Sub
Sub TRIBOULAGE()
'
' TRIBOULAGE Macro
' Macro enregistrée le 13/02/2007 par maindron
'
' Touche de raccourci du clavier: Ctrl+è
'
Range("A5").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToDown)).Select
Selection.Sort Key1:=Range("Q6"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A6").Select
End Sub
Sub AJOUTLIGNE()
'
' AJOUTLIGNE Macro
' Macro enregistrée le 13/02/2007 par maindron
'
' Touche de raccourci du clavier: Ctrl+à
'
Rows("7:7").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll ToRight:=12
Range("R6:AC6").Select
Selection.AutoFill Destination:=Range("R6:AC7"), Type:=xlFillDefault
Range("R6:AC7").Select
ActiveWindow.ScrollColumn = 1
Range("A7").Select
End Sub
A voir également:
- VBA tableau Excel
- Tableau word - Guide
- Trier un tableau excel - Guide
- Imprimer tableau excel sur une page - Guide
- Liste déroulante excel - Guide
- Tableau ascii - Guide
2 réponses
salut redzen,
Voici ton code un peu modifié d'après tes explications. J'espère n'avoir rien oublié, et aussi avoir bien compris tes demandes.
En ce qui concerne l'ENI, j'y ai passé 6 mois en 98/99. Je n'ai pas eu à m'en plaindre. Elle m'avait été chaudement recommandée par la personne qui s'occupait de mon dossier au FONGECIF (organisme chargé de la gestion des Congés Individuels de Formation).
Voici ton code un peu modifié d'après tes explications. J'espère n'avoir rien oublié, et aussi avoir bien compris tes demandes.
En ce qui concerne l'ENI, j'y ai passé 6 mois en 98/99. Je n'ai pas eu à m'en plaindre. Elle m'avait été chaudement recommandée par la personne qui s'occupait de mon dossier au FONGECIF (organisme chargé de la gestion des Congés Individuels de Formation).
Sub TRIDATES() ' ' TRIDATES Macro ' Macro enregistrée le 13/02/2007 par maindron ' ' Touche de raccourci du clavier: Ctrl+é ' ' Range("A5").Select ' Range(Selection, Selection.End(xlToRight)).Select ' Range(Selection, Selection.End(xlToDown)).Select ' Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlYes, _ ' OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom ' plus simple Range("A5").CurrentRegion.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom ' se placer sur la dernière cellule Range("A65536").End(xlUp).Select End Sub Sub TRIBOULAGE() ' ' TRIBOULAGE Macro ' Macro enregistrée le 13/02/2007 par maindron ' ' Touche de raccourci du clavier: Ctrl+è ' ' Range("A5").Select ' Range(Selection, Selection.End(xlToRight)).Select ' Range(Selection, Selection.End(xlToDown)).Select ' Selection.Sort Key1:=Range("Q6"), Order1:=xlAscending, Header:=xlYes, _ ' OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom ' même chose ici Range("A5").CurrentRegion.Sort Key1:=Range("Q6"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom ' se placer sur la dernière cellule Range("Q65536").End(xlUp).Select End Sub Sub AJOUTLIGNE() ' ' AJOUTLIGNE Macro ' Macro enregistrée le 13/02/2007 par maindron ' ' Touche de raccourci du clavier: Ctrl+à ' ' Rows("7:7").Select ' Selection.Insert Shift:=xlDown ' ActiveWindow.SmallScroll ToRight:=12 ' Range("R6:AC6").Select ' Selection.AutoFill Destination:=Range("R6:AC7"), Type:=xlFillDefault ' Range("R6:AC7").Select ' ActiveWindow.ScrollColumn = 1 ' Range("A7").Select Range("A65536").End(xlUp).Select ActiveCell.EntireRow.Copy ActiveCell.Offset(1, 0).PasteSpecial xlPasteFormats ActiveCell.Select End Sub
Merci pour tes infos Kobaya. Juste une précision : sous mon tableau, j’ai une ligne vierge puis j’ai à nouveau des données sur la ligne du dessous. Ce qui fait qu’avec End(xlup), vba ne se positionne pas sur la dernière ligne de mon tableau mais sur la dernière ligne des données se trouvant sous mon tableau.
Concernant l’ENI, as-tu trouvé rapidement du travail suite à la formation ? Quelle était la formation que tu as suivi ?
Concernant l’ENI, as-tu trouvé rapidement du travail suite à la formation ? Quelle était la formation que tu as suivi ?