Macro ligne supplémentaire

Grégf

XLDnaute Junior
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

  • TEST V35.xlsm
    56.8 KB · Affichages: 17

Grégf

XLDnaute Junior
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

  • TEST V36.xlsm
    57.2 KB · Affichages: 18

vgendron

XLDnaute Barbatruc
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.
 

Grégf

XLDnaute Junior
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

  • TEST V 47.xlsm
    56 KB · Affichages: 12

vgendron

XLDnaute Barbatruc
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
 

Grégf

XLDnaute Junior
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.
 

vgendron

XLDnaute Barbatruc
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
 

vgendron

XLDnaute Barbatruc
à 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
 

Discussions similaires

Statistiques des forums

Discussions
312 388
Messages
2 087 871
Membres
103 672
dernier inscrit
ammarhouichi