Macro excel

Dja64 -  
 romain -
Bonjour,
je suis actuellement entrain de faire une petite base de donnée sous excel et j'ai utilisé une macro pour supprimer toutes les lignes non utilisées. Je voudrais maintenant créer un bouton pour faire une insertion de ligne en bas de la page mais je n'ai pas de formation informatique et je ne sais pas ce que je dois inscrire dans la fenêtre VBA pour une telle requête.
ça serait sympa si quelqu'un pouvait me donner cette macro

Merci d'avance!
A voir également:

2 réponses

Chacalou13 Messages postés 405 Statut Membre 19
 
Salut,

Le VBA peut être très intuitif, même quand on y connait rien.
La démarche est la suivante:
- Enregistrer une macro
- Faire "à la main" dans Excel ce que tu veux qu'elle fasse.
- Arrêter la macro( Barre des tâches "Visual Basic")
- Alt + F11 et tu vois le code généré.

Ensuite, avec un minimum de connaissance en programmation, tu nettoie le code pour l'améliorer ....

Ca t'y va ?

Grève de la signature
0
romain
 
salut

tu dois créer ta macro d'abord (outil -> macro)
dedans tu ecris
Rows("x:x").Select (x = nombre de la colonne ou tu veux inserer ta ligne)
Selection.Insert Shift:=xlDown

Ensuite tu dois creer ton bouton (affichage, barre d'outils, visual basic et tu cliques sur le petit marteau)
Tu peux choisir bouton de commande
Une fois créé, tu cliques droit sur ce bouton et tu mets affecter une macro...

Ca devrait marcher

Sinon un truc sympa qd on commence sous excel : en cliquant sur enregistrer macro dans la barre outil visual basic, tu fais ta manip et excel ecrit tout seul ton code...(pour le voir : executer macro, modifier)

Bon courage
0
Dja64
 
Salut
Merci beaucoup de ta réponse:
ça marche très bien ce que tu m'as dit mais en fait est ce que tu crois que c'est possible qu'il insère une nouvelle ligne en dernière position de la feuille quelque soit le nombre d'enregistrements; Parce que là, ça insère une ligne mais à un rang bien précis...

Merci d'avance
0
romain > Dja64
 
salut

oui c possible :

il faut que tu comptes ton nombre d'enregistrements avec une boucle do while ...loop (ex :
Nb_enregistrement = 0
i = Nb_Start


Do While IsEmpty(Worksheets("Nom de ta feuille").Cells(i, Numero de ta colonne ou tu compte).Value) = False

Nb_enregistrement = Nb_enregistrement + 1

i = i + 1

Loop

Ensuite tu inseres (la c'est un ex d'une insertion sur ta ligne de dernier enregistrement des colonnes 1 à 8)

Worksheets("nom de ta feuille").Range(Cells(Nb_Enregistrement+1, 1), Cells(Nb_Enregistrement+1, 8)).Select
Selection.Insert Shift:=xlDown

essayes ca

bye
0