Insertion automatique ligne avec bouton

lecromg

XLDnaute Nouveau
Bonjour,

je suis débutant et je suis confronté à un pb qui doit être très simple pour la plupart d'entre vous.
Je souhaite créer un bouton afin de créer automatiquement une ligne vierge en dessous conservant ma liste de choix existante et si possible en incrémentant une cellule.
L'idéal serait que ce bouton se déplace automatiquement sur la dernière ligne.

Ci-joint mon fichier avec les précisions utiles notés en rouge.


Mille merci.



PS: je ne sais pas pourquoi mon fichier demande si je veux activer les macros à l'ouverture car je n'en ai pas.
 

Pièces jointes

  • Bornier pr forum.zip
    34.8 KB · Affichages: 257

Shock

XLDnaute Occasionnel
Re : Insertion automatique ligne avec bouton

Salut,

Essaye ce bout de code :
Code:
Sub ajout_ligne()
Range("F2").End(xlDown).Select
nbre = ActiveCell.Value
ligne = ActiveCell.Row

Rows(ligne).Copy
Rows(ligne + 1).Insert Shift:=xlDown
Cells(ligne + 1, 6).Value = nbre + 1

End Sub

C'est déjà un premier pas...
Après il y a les formats qui ne tomberont peut-être pas toujours comme tu as besoin, à voir...

Bye

ShocK
 

lecromg

XLDnaute Nouveau
Re : Insertion automatique ligne avec bouton

Merci Shock, ca m'aide bien déjà.

Par contre je ne peux récupérer mes données sur la feuille Données_metre de mes nouvelles lignes insérees.

Par contre, étant donné que les boutons en bout de ligne (qui activent ma macro) se "multiplient", je voudrais en profiter pour que lorsque je clique sur ce boutont "insertion ligne", l'insertion se fasse la ligne en dessous et non pas après la dernière ligne. Et le top serait que toute l'incrémentation soit mise à jour.

Est-il possible aussi que la nouvelle ligne soit vierge de données sauf ma colonne F bien sûre.

J'ai remis mon fichier avec des explications plus précises.
 

Pièces jointes

  • Bornier 02 pr forum.zip
    44.5 KB · Affichages: 279

Shock

XLDnaute Occasionnel
Re : Insertion automatique ligne avec bouton

Salut lecromg,

désolé je n'ai pas beaucoup le temps en ce moment...
à 1ère vue, il faudrait une macro par bouton?!, à moins de ne faire qu'un bouton, et de faire notre macro en fonction de la ligne sélectionnée...
ou plutôt, la possibilité de saisir dans une boite de dialogue "inputbox" le N° de ligne après laquelle on veut rajouter la nouvelle?

Avec un truc du genre :

Code:
Sub ajout_ligne()
Range("F2").End(xlDown).Select
lgn = ActiveCell.Row
ligne = InputBox("Avant quelle ligne voulez-vous insérer la nouvelle?", "N° Ligne")
nbre = Cells(ligne, 6).Value

Rows(ligne).Copy
Rows(ligne + 1).Insert Shift:=xlDown
For i = 1 To (lgn - nbre - 1)
Cells(ligne + i, 6).Value = nbre + i
Next i
End Sub
 

lecromg

XLDnaute Nouveau
Re : Insertion automatique ligne avec bouton

Merci beaucoup, ca marche bien sur ma feuille principal.


Le seul hic est que ma basse de données sur la feuille Données_metre ne prend pas en compte les nouvelles lignes. Ai-je fais quelque chose de travers concernant ces bases de données?

Mais merci toujours, ca m'aide en partie.
 

Shock

XLDnaute Occasionnel
Re : Insertion automatique ligne avec bouton

Salut,

C'est normal, on fait un copier-coller, donc les références suivent...et après tu as 1 "saut" dans la feuille Données_metre :
Tu as par ex. en ligne 20 des références à la ligne 20 de Bornier, puis en ligne 21 tu as des réf. à la lg 22 de Bornier.

J'ai trouvé une parade...mais je ne suis pas sûr que ça marche dans tous les cas :
Code:
Sub ajout_ligne()
Range("F2").End(xlDown).Select
lgn = ActiveCell.Row
ligne = InputBox("Avant quelle ligne voulez-vous insérer la nouvelle?", "N° Ligne")
nbre = Cells(ligne, 6).Value

Rows(ligne).Copy
Rows(ligne + 1).Insert Shift:=xlDown
For i = 1 To (lgn - nbre - 1)
Cells(ligne + i, 6).Value = nbre + i
Next i
With Sheets("Données_metre")
    .Range(.Cells(ligne, 1), .Cells(ligne, 10)).Copy
    .Range(.Cells(ligne + 1, 1), .Cells(300, 10)).PasteSpecial (xlPasteFormulas)
End With
End Sub

A essayer donc, bonne chance

Bye
ShocK
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 952
Membres
103 989
dernier inscrit
jralonso