Mon code est il optimisé

Bonjour,

Vous trouverez ci-joint un code que j'écris. Tout marche mais je voudrais savoir si la codification est efficace, si elle peut être améliorer. merci de m'aider.

===============================================
Sub CerclesCreation()
 
'Effacement de la cellule
    Cells.Delete
 'Ecriture des titres des colonnes
    Range("A1") = "Cercle"
    Range("B1") = "Réf"
    Range("C1") = "Désignation"
    Range("D1") = "Prix unitaire"
    Range("E1") = "Quantité"
    Range("F1") = "Montant"
 'Mise en forme de la lignes des titres
    Range("A1:F1").Select
    With Selection.Font
            .ColorIndex = 10
            .Bold = True
            .Name = "Verdana"
    End With
    Selection.Interior.Color = 39
     
  End Sub

=======================================================

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

3 réponses

  1. Bonjour iroko45,

    Je te propose ce code VBA :

    
    Option Explicit
    
    
    Sub CerclesCreation()
    
      Application.ScreenUpdating = False
    
      ' Effacement des cellules
      Cells.Clear
      
      ' Écriture des titres des colonnes
      [A1] = "Cercle": [B1] = "Réf"
      [C1] = "Désignation": [D1] = "Prix unitaire"
      [E1] = "Quantité": [F1] = "Montant"
    
      ' Mise en forme de la lignes des titres
      With [A1:F1]
        .HorizontalAlignment = xlCenter: .Interior.ColorIndex = 10
        With .Font
          .Name = "Verdana": .ColorIndex = 2: .Bold = True
        End With
      End With
      
      ' Largeur des colonnes (de même largeur)
      Columns("A:F").ColumnWidth = 16
      
    End Sub
    
    

    Merci de me dire si ça te convient.

    Cordialement
     
    1. Merci Paul. cela m'enchante et me convient.

      Merci beaucoup

      Ok Baladur13 pour les balises. Merci
      1. Contributeur
        Bonjour,

        pourquoi supprimer les titres pour les refaire ?
        Sub CerclesCreation()
            Rows(1).Resize(Cells(Rows.Count, "A").End(xlUp).Row).Offset(1).ClearContents
        End Sub 

        en supposant "A" rempli à la dernière ligne.
        eric