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

Microsoft 365 Ajout ligne tableau VBA

Eric.lo

XLDnaute Nouveau
Bonsoir à tous,

Voilà j'aimerai pourvoir créer un bouton VBA afin d'ajouter une ligne supplémentaire en dessous mon tableau. Après avoir écrit dans cette première ligne j'ai besoin d'une deuxième ligne mais qui se mette en dessous et non au dessus. Et ainsi de suite... Jusqu'à 15-20 lignes en fonction de ce que j'ai besoin, tout cela sans modifier la suite de mon tableau. Je ne sais pas si je me suis fais comprendre. Je vous met une image ce sera peut-être plus explicite

Merci d'avance pour vos réponse

Eric
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour à tous
non d'une pipe en bois !!! pourquoi bon sang !! ne pas utiliser un tableau structuré
c'est si facile d'y d'ajouter une ligne ou même une colonne a un endroit ou un autre
toujours se poser la question "est ce que j'utilise la bonne stratégie ou le bon outils"
 

Eric.lo

XLDnaute Nouveau
Bonjour Patrick,

Tu parles de définir mes tableau dans la macro? Je t'avoue je débute dans les VBA, j'ai pu lire 2-3 trucs là dessus mais je n'ai pas trouvé la solution
 

patricktoulon

XLDnaute Barbatruc
bonjourtout les deux
@Phil69970
perso je fait simple
je donne un nom à la ligne grise "limite"
et dans ton bouton
VB:
Sub CommandButtonx1_Click()
    Dim R As Range, Lig&, LiM&

    Set R = [A3:H65535].Resize([limite].Row - 3)
    Lig = R.Columns(1).End(xlDown).Row: ligm = [limite].Row
    LiM = [limite].Row

    If Lig = LiM - 1 Then
        [limite].Insert Shift:=xlDown
        With [A:D].Rows(LiM): .MergeCells = True: .BorderAround 1, 3: End With
        With [E:H].Rows(LiM): .MergeCells = True: .BorderAround 1, 3: End With
    End If
End Sub
di la ligne précédente est remplie ça marche sinon non
ou bien pareil mais en plus simple
VB:
Sub CommandButton1_Click()
    Dim LiM
    LiM = [limite].Row
    If [limite].Offset(-1).Cells(1) <> "" Then
        [limite].Insert Shift:=xlDown
        With [A:D].Rows(LiM): .MergeCells = True: .BorderAround 1, 3: End With
        With [E:H].Rows(LiM): .MergeCells = True: .BorderAround 1, 3: End With
    End If
End Sub

testé sur ton fichier post #10
 

Eric.lo

XLDnaute Nouveau
Re,
C’est exactement le même fichier que la V2 que tu m’as renvoyé. Je l’envoi en pièce jointe à un collègue par mail, lui efface tout et le rempli a son tour mais il a peut être besoin de moins de ligne que moi.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…