Forcer un affichage dans deux plages

vieuxray -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour a tous, forum bonjour

Excel 2007 VBA

Je fait un copier coller d'une liste de 20 chiffres sur un site
puis je colle cette liste dans mon programme plage colonne (A1:A21)

Dans cette colonne j'ai mis le format d'affichage suivant :

-Arial=12
-Color=Noir
-Centrer les chiffres Horizontal et vertical

Mais a chaque fois que je colle mon "copier coller du site" l'affichage ne corresponds plus comme je l'avais régler.

ET dans la plage colonne (B1:B21) même problème, juste la couleur qui change.

Donc je souhaiterai svp forcer l'affichage comme je veux.

j'avais penser une petite macro sub que je lancerai dès la fin du collage, et qui me remettrai mes paramètres voulus, une idée comme ça

-Arial=12
-Color=Rouge
-Centrer les chiffres Horizontal et vertical

Merci de votre aide, bonne fin d'après midi et merci

Cdlt Ray

7 réponses

  1. Passionofdream Messages postés 858 Statut Membre 305
     
    Bonjour,

    Effectivement une petite macro devrait résoudre le problème.
    Il te suffit d'en enregistrer une à partir de l'enregistreur de macro en bas à gauche de ta fenêtre excel.
    Ensuite tu fais les modifications d'affichage que tu souhaites.
    1
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    quelque chose m'échappe.
    Dans le collé on a le choix entre 'conserver la mise en forme source' ou 'Respecter la mise en forme de destination'
    eric
    1
  3. vieuxray
     
    Salut Passionofdream,

    Merci pour ta réponse c'est sympa

    j'ai essayer déjà mais a chaque fois que j'essaie de me servir de l'enregistreur de macro, je me plante lamentablement, je comprends rien a ce truc.

    Bon c'est pas grave merci tout de même pour le conseil, je vais réessayer

    je te souhaite une bonne fin d'après midi

    Cdlt Ray
    0
  4. vieuxray
     
    Re salut

    Bon j'ai réussi a faire le code ci-dessous

    Ca fonctionne bien, mais on peut sans doute améliorer.

    sauf le centrage Vertical et Horizontal dans les deux colonnes

    Si on peut me dire svp le code pour le centrage, merci

    Merci a vous

    Cdlt Ray


    Public Sub Arial_Gras_Rouge()

    With Range("A1:A20").Font
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter

    .Name = "Arial"
    .ColorIndex = 1
    .Bold = True
    .Size = 12
    End With

    With Range("B1:B21").Font
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter

    .Name = "Arial"
    .ColorIndex = 3
    .Bold = True
    .Size = 12
    End With

    Range("A21").ClearContents
    End Sub
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Passionofdream Messages postés 858 Statut Membre 305
     
    Bonjour,

    L'erreur se situe au début

    Public Sub Arial_Gras_Rouge()
    
    Range("A1:A20").Select
    
     With Selection      
              .HorizontalAlignment = xlCenter
              .VerticalAlignment = xlCenter
           End With
    
     With Selection.Font
              .Name = "Arial"
              .ColorIndex = 1
              .Bold = True
              .Size = 12
          End With
    
    Range("B1:B21").Select
    
       With Selection
            .HorizontalAlignment = xlCenter
           .VerticalAlignment = xlCenter
    
        With Selection.Font
           .Name = "Arial"
              .ColorIndex = 3
              .Bold = True
              .Size = 12
            End With
    
      Range("A21").ClearContents
    End Sub

    0
  7. vieuxray
     
    Salut Passionofdream

    Entre temps, j'ai chercher et réussi a faire le code ci-dessous surement que l'on peut l'améliorer, je vous en prie, je veux bien, merci

    il fonctionne mais je ne sais pas si c'est vraiment bon, le temps me le dira.

    Merci a toi, je garde ton code sous le coude au cas le mien ne serait pas bon.

    Cordialement Raymond


    Public Sub Arial_Gras_Rouge()

    With Range("A1:A20,B1:B21").Font
    Range("A1:A20,B1:B21").HorizontalAlignment = xlCenter
    Range("A1:A20,B1:B21").VerticalAlignment = xlCenter

    .Name = "Arial"
    .ColorIndex = 1
    .Bold = True
    .Size = 12
    'Juste la première lettre(X)en majuscule et rouge
    Range("B1:B20").Characters(1, 2).Font.Color = vbRed
    Range("B21").Value = WorksheetFunction.Proper(Range("B21"))
    Range("B21").Characters(1, 1).Font.Color = vbRed
    End With

    Range("A21").Clear
    End Sub
    0
  8. vieuxray
     
    Salut eriiic

    Merci pour ta réponse

    Je n'ai pas compris.

    C'est un code fait par moi a partir d'un code trouver sur le net que j'ai (bidouiller), oui je sais bien c'est pas terrible, mais pas trouver mieux.

    Si tu penses pouvoir améliorer, je suis preneur.

    Bonne journée a toi et merci

    Cdlt Ray
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      quand tu fais ton collé, si tu choisis 'Respecter la mise en forme de destination' ça conserve tes mises en formes, pas besoin de macro.
      A moins que tu ne sois sur excel 2003...
      eric
      0