• Initiateur de la discussion Initiateur de la discussion youki
  • 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 !

youki

XLDnaute Occasionnel
Re bonjour, pour la creation d'un tableau automatique, je creé les lignes partout ou je trouve des données.

Dans un second temps j'efface les cases en dessous... Ma programmation est assez douteuse (là encore ). En effet je regarde la dernière ligne ou se trouve les données.

- Je supprime les cadres (eventuels) se situant sur la première ligne du dessous
- je supprime tous les cadres (enventuels) se situant entre la dernière ligne +2 jusqu'à 300 pour etre sûr.

Seulement ça rame sévére lors de cette action, quelqu'un aurait il une idée pour rendre se systeme mieux programmé, plus fluide.

Merci d'avance
Code:
  'Alignements
    Range("B8:B" & derLig).HorizontalAlignment = xlCenter
    Range("C8:C" & derLig).HorizontalAlignment = xlLeft
    Range("D8:D" & derLig).HorizontalAlignment = xlRight
    Range("E8:E" & derLig).HorizontalAlignment = xlCenter
    Range("F8:F" & derLig).HorizontalAlignment = xlRight
    Range("G8:G" & derLig).HorizontalAlignment = xlRight
    Range("B" & derLig & ":G" & derLig).Font.Bold = True
    
    'Effacement des lignes de tableau inutile
     Range("B" & derLig + 1 & ":G" & derLig + 1).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    
    Range("B" & derLig + 2 & ":G200").Select
    Selection.Borders(xlDiagonalDown) = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
 
Re : ça rame

Bonjour,

tu aurais pu utiliser une mise en forme conditionnelle, qui insère les bordures automatiquement selon le remplissage d'une cellule (colonne B par exemple)
Sélectionne de B1 à B200, par exemple
en condition 1:

la formule est :

Code:
=$B2=""
Format: police Gras, Bordure : contour

Condition 2 :

Code:
=$B1<>""

format bordure : contour

si tu veux le faire par macro, ton code un peu modifié

Code:
DerLig = [B65000].End(xlUp).Row
Range("B:B,E:E").HorizontalAlignment = xlCenter
Range("C:C").HorizontalAlignment = xlLeft
Range("D:D,F:F,G:G").HorizontalAlignment = xlRight
Range("B" & DerLig & ":G" & DerLig).Font.Bold = True
With Range("B" & DerLig + 1 & ":G" & DerLig + 2100)
    .Borders.LineStyle = xlNone
End With
 
- 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

Discussions similaires

  • Question Question
XL pour MAC Recherche date
Réponses
5
Affichages
2 K
Réponses
8
Affichages
1 K
Réponses
13
Affichages
3 K
Réponses
6
Affichages
1 K
Retour