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 !
Voila je vous explique mon problème:
Je remplie la première cellule vide de la colonne A via un Userform, jusque la pas de problème.
Seulement j'aimerais qu'a chaque nouvelle entrée la ligne remplie ce fusionne avec la ligne du dessous, afin d'avoir, pour chaque "Nom", deux ligne.
Bon je sais que ce ne doit pas être très clair alors je joint un petit fichier exemple 😉
Merci à ceux qui prendront le temps de me lire et de me répondre !
Je te propose la modification suivante dans ton code:
Code:
Private Sub CommandButton1_Click()
Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = TextBox1.Value
With Range(Range("A" & Rows.Count).End(xlUp), Range("A" & Rows.Count).End(xlUp).Offset(1, 0))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
Unload Me
End Sub
En fait, pour faire ce genre de codes simples, il y a plusieurs façons:
- rechercher sur internet et dans l'aide excel les méthodes et propriétés te permettant de réaliser ce que tu veux : là, il faut bien utiliser les termes d'Excel pour avoir des résultats satisfaisants.
- utiliser l'enregistreur de macros : c'est bien pour toutes les choses simples, mais ça rajoute souvent des méthodes qui ne t'intéressent pas
Tu trouveras ci-dessous un exemple du deuxième cas qui répond à ta demande (j'ai volontairement indiqué des infos que tu dois connaître mais qui peut être utiles pour d'autres):
1/ Mettre l'enregistreur de macro en route (Onglet Développeur sur Excel2010)
2/ Faire que tu souhaites automatiser (dans ton cas, encadrer une cellule)
3/ Arrêter l'enregistreur (bouton stop)
4/ Epurer le code fourni par l'enregistreur (Onglet Développeur sur Excel2010/Visual Basic, ouvrir le dernier module dans l'arborescence du projet)
Dans notre cas (encadrement extérieur simple noir à partir d'une cellule sans mise en forme de bordure) faire les points 1/, 2/ et 3/ donnent ceci:
Code:
Sub Macro6()
'
' Macro6 Macro
'
'
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
Ce qui fait beaucoup de lignes pour pas grand chose, le point 4/ peut donner ceci par contre (mais là c'est à toi de faire le distingo entre les méthodes):
Code:
Sub Macro6()
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeTop).LineStyle = xlContinuous
Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous
Selection.Borders(xlEdgeRight).LineStyle = xlContinuous
End Sub
A noter que l'enregistreur à beaucoup de défauts, mais il permet de se familiariser facilement avec des méthodes tout en apprenant à épurer le code et à le commenter (mon point faible).
- 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