Forcer un affichage dans deux plages

Fermé
vieuxray - 25 févr. 2017 à 17:50
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 1 mars 2017 à 08:06
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

Passionofdream Messages postés 820 Date d'inscription mardi 21 juillet 2015 Statut Membre Dernière intervention 11 mai 2021 303
25 févr. 2017 à 17:54
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
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 242
28 févr. 2017 à 23:31
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Passionofdream Messages postés 820 Date d'inscription mardi 21 juillet 2015 Statut Membre Dernière intervention 11 mai 2021 303
28 févr. 2017 à 15:00
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
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
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
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 242
1 mars 2017 à 08:06
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