Bordure automatique aux cellules

Nagrom

XLDnaute Occasionnel
Bonjour

Le code suivant me permet de rajouter les donnée d'un formulaire à quatre champs, dans un tableau. Chaque nouvel ajout se rajoute à la suite du tableau existant:



Code:
Private Sub CommandButton1_Click()

With Sheets('feuil1')

l = Sheets('feuil1').Range('A65536').End(xlUp).Row + 1

Cells(l, 1) = TextBox1.Value
Cells(l, 2) = TextBox2.Value
Cells(l, 3) = TextBox3.Value
Cells(l, 4) = TextBox4.Value

End With
End Sub

Le code suivant permet de mettre des bordure sur quatres cellules d'un coup:

Code:
Sub Bordure()

    ActiveCell.Range('A1:D1').Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 1
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 1
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 1
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 1
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 1
    End With
End Sub

Je voudrais savoir comment faire pour combiner les deux codes pour faire en sorte que les nouvelles données ajoutées au tableau soit encadrées à l'aide de la macro ci-dessus, automatiquement.

Merci d'avance.
Nagrom.
 

Nagrom

XLDnaute Occasionnel
C'est bon, selement le problème, c'est que les cellules s'encadrent à partir de la cellule qui est sélectionnée.

Il faudrait faire en sorte que le curseur se mette sur la celulle tout à gauche de la ligne vide, que les données s'inscrivent et puis quelles soient encadrées.

Si tu as une soluce je suis preneur.
@++
Nagrom
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Navgrom, Staple le Forum

En fait à partir du moment où Nagrom utilise un UserForm, je suggère tant qu'à faire de finir tout en VBA, c'est bien plus homogène et simple de maintenance...

Private Sub CommandButton1_Click()
Dim L As Long
Dim i As Byte

   
With Sheets('feuil1')
        L = .Range('A65536').End(xlUp).Row + 1
           
For i = 1 To 4
               
With .Cells(L, i)
                    .Value = Me.Controls('TextBox' & i)
                    .Borders.LineStyle = xlContinuous
               
End With
           
Next
   
End With
End Sub

Bon Appétit
[ol][b]@+Thierry[/b][/ol]

PS Nagrom, Attention aux petits Points devant .Cells Car ton 'With Sheets('feuil1') n'est pas pris en compte sans eux....
 

Nagrom

XLDnaute Occasionnel
Super merci beaucoup, ça marche impecable.

Par contre, j'aurai une autre demande du même type pour un autre fichier.

Cela consiste à mettre également à encadrer les infos qui sont rajoutées, seulement le code est plus complexe. Est-ce que tu pourrais regarder s'il te plaît.

Il faudrait également que lorsque je transfert les données vers les autres fichiers, elles soient également encadrées dans les fichiers secondaires.

Le fichier primaire est 'Registre.xls' et se trouve dans le dossier Listing. Dans ce fichier, il y a un bouton dans A1 qui lance userform.

Pour que ça marche, il faut mettre le dossier classeurs dans c:\\Program Files\\

Merci.
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 349
Membres
103 526
dernier inscrit
HEC