Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro ligne supplémentaire

  • Initiateur de la discussion Initiateur de la discussion Grégf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

Grégf

Guest
Re bonjour,

J'ai enfin réussi à installer une macro (il va neiger !!!) qui fonctionne, mais j'ai toujours un souci car je suis obliger de cliquer sur la dernière ligne du tableau avant de cliquer sur le bouton. J'ai bien pris note de vos propositions sans macro de ce matin, mais j'aimerai garder la forme existante.
Est-il possible de régler cette macro pour qu'elle sois cliquable uniquement dans la dernière ligne du tableau en A9 du le fichier joint et que ça décale à chaque rajout de ligne.
Merci encore des réponses apportées aujourd'hui.
Cordialement
 

Pièces jointes

Hello

peut etre en ajoutant ceci en début de macro
VB:
Range("B4").End(xlDown).Offset(1, 0).Select
ou plutot ceci
VB:
Range("B32").End(xlUp).Offset(1, 0).Select
32 étant la ligne où se trouve ta première ville "Ales"
 
Je vous joints mon résultat, mais je me suis peut-être mal exprimé, je veux rajouter une lignes toujours en fin de tableau (en B9 sur le fichier joint). Merci pour votre patiente (je n'y connais absolument rien en code et en macro ... une vrai buse dans ce domaine).
 

Pièces jointes

le problème est de détecter la fin du tableau..
visiblement, les lignes de dessus ne sont pas forcément remplies..
donc. soit il faut détecter avec la couleur de fond - soit regarder si la cellule est formatée avec une liste de validation, soit transformer ton tableau en table excel.
 
Bonjour,

J'y suis presque ... j'ai trouvé une macro que j'essaie d'adapter sans aucune connaissance à mon fameux tableau, mais j'ai 4 lignes D, G, J, N ou ma formule n'est pas recopiée ? Auriez-vous la solution ?
Merci cordialement.
 

Pièces jointes

Hello

Essaie ceci
VB:
Sub Bouton1_Cliquer()
    DébutTablo = 6 'donne la première ligne du tableau
    i = DébutTablo
   

    While Cells(i, 4).HasFormula 'on vérifie que la colonne D contient une formule
        i = i + 1
    Wend
    FinTablo = i - 1  'la dernièire ligne du tableau
   
    Rows(FinTablo & ":" & FinTablo).Select 'on selectionne puis copie la dernière ligne du tableau
    Selection.Copy
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False
   
End Sub
 
OK j'ai trouvé ma connerie, j'avais mis de la couleur pour repérer des décalages ... je m'excuse !!!
Par contre l'insertion de ligne se fait sur l'avant dernière ligne, peut-on la faire sur la dernière ? J'ai essayé en changeant les chiffre de ton code mais je n'y arrive pas (je vais acheter VBA pour les nuls pour essayer de comprendre un minimum ...). Merci encore.
 
Pour l'insertion au dessus ou en dessous... ca ne change rien.. puisque au final, les deux dernières lignes sont identiques..

après. tu peux selectionner la dernière ligne en fin de macro
VB:
Sub Bouton1_Cliquer()
    DébutTablo = 6 'donne la première ligne du tableau
    i = DébutTablo
   

    While Cells(i, 4).HasFormula 'on vérifie que la colonne D contient une formule
       i = i + 1
    Wend
    FinTablo = i - 1  'la dernière ligne du tableau
    Rows(FinTablo & ":" & FinTablo).Select 'on selectionne puis copie la dernière ligne du tableau
    Selection.Copy
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False
   Range("B" & FinTablo + 1).Select
End Sub
 
à moins que ce soit ceci qu'il te faille... 🙂

VB:
Sub Bouton1_Cliquer()
    DébutTablo = 6 'donne la première ligne du tableau
    i = DébutTablo
  
    While Cells(i, 4).HasFormula 'on vérifie que la colonne D contient une formule
       i = i + 1
    Wend
    FinTablo = i - 1  'la dernière ligne du tableau
    Rows(FinTablo & ":" & FinTablo).Select 'on selectionne puis copie la dernière ligne du tableau
    Selection.Copy
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False
    FinTablo = FinTablo + 1
    Range("B" & FinTablo).Resize(1, 2).ClearContents
    Range("E" & FinTablo).ClearContents
    Range("H" & FinTablo).ClearContents
    Range("K" & FinTablo).ClearContents
    Range("N" & FinTablo).ClearContents
    Range("Q" & FinTablo).ClearContents
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
824
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…