Forcer un affichage dans deux plages

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. 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
    1. Contributeur
      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
      1. 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
        1. 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
          1. 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
            1. 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
              1. 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. Contributeur
                  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