Alignement texte avec VBA Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
NatKJ
Membre habitué
Membre habitué
Messages : 57
Inscrit le : 31 juillet 2019
Version d'Excel : EXCEL 2016

Message par NatKJ » 13 septembre 2019, 12:12

Bonjour le forum,

Je me pose une question; j'ai des titres qui apparaissent dans mon tableau, ces titres ne sont jamais fixés à une cellule donc je me demande s'il existe une commande VB qui me permettrait de dire :

Voilà dans cette plage (A31:A100) si le mot "SERVICES" apparaît, tu places le mot au milieu de la cellule sans toucher l'alignement des autres cellules.

Si quelqu'un à une piste, ca serait top :)

Cordialement,
Nat
La noob sur excel :lole: :mrgreen:
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 2'187
Appréciations reçues : 243
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 13 septembre 2019, 12:36

Bonjour NatKJ, le forum,

A tester:
Sub test()

 Dim plage As Range, c As Range
 
  Set plage = Range("A31:A100")
   For Each c In plage
    If c.Value Like "SERVICES" Then c.HorizontalAlignment = xlCenter
   Next c
End Sub
Classeur1.xlsm
(19.88 Kio) Téléchargé 3 fois
Cordialement,
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
Avatar du membre
NatKJ
Membre habitué
Membre habitué
Messages : 57
Inscrit le : 31 juillet 2019
Version d'Excel : EXCEL 2016

Message par NatKJ » 13 septembre 2019, 13:58

xorsankukai a écrit :
13 septembre 2019, 12:36
Bonjour NatKJ, le forum,

A tester:
Sub test()

 Dim plage As Range, c As Range
 
  Set plage = Range("A31:A100")
   For Each c In plage
    If c.Value Like "SERVICES" Then c.HorizontalAlignment = xlCenter
   Next c
End Sub
Classeur1.xlsm
Cordialement,
Bonjour Xorsankukai,

Merci pour ton mesage.

Ca ne fonctionne pas enfin du moins quand je l'intègre à ma macro déjà existante ca ne fonctionne pas.

L'idéal serait de l'intégrer au bouton "Copy Services" de la feuil "SERVICES" pour que cela puisse apparaître dans la feuille "PROPOSAL"

Je laisse un fichier, si besoin
TEST MP 1.xlsm
(120.33 Kio) Téléchargé 2 fois
Nat,
La noob sur excel :lole: :mrgreen:
S
SanGroku
Jeune membre
Jeune membre
Messages : 15
Appréciations reçues : 3
Inscrit le : 11 septembre 2019
Version d'Excel : 2010 FR

Message par SanGroku » 13 septembre 2019, 14:16

Bonjour NatKJ,

J'ai ajouté un modulé avec une fonction "Aligner".

Je te laisse regarder si cela te convient.

Cordialement,
TEST MP 1.xlsm
(109.83 Kio) Téléchargé 5 fois
1 membre du forum aime ce message.
Avatar du membre
NatKJ
Membre habitué
Membre habitué
Messages : 57
Inscrit le : 31 juillet 2019
Version d'Excel : EXCEL 2016

Message par NatKJ » 13 septembre 2019, 14:40

SanGroku a écrit :
13 septembre 2019, 14:16
Bonjour NatKJ,

J'ai ajouté un modulé avec une fonction "Aligner".

Je te laisse regarder si cela te convient.

Cordialement,
Salut SanGroku,

Module qui marche parfaitement,
Si je désire que l'alignement marche aussi sur d'autres mots qu'est-ce que je peux écrire ?

Nat,
La noob sur excel :lole: :mrgreen:
S
SanGroku
Jeune membre
Jeune membre
Messages : 15
Appréciations reçues : 3
Inscrit le : 11 septembre 2019
Version d'Excel : 2010 FR

Message par SanGroku » 13 septembre 2019, 14:47

Re,

Sub Aligner()

Dim plage As Range, c As Range

Set plage = ThisWorkbook.Worksheets("PROPOSAL").Range("A1:A100")
For Each c In plage
If c.Value Like "SERVICES" Orc.Value Like "TRANSPORT" Then
c.HorizontalAlignment = xlCenter
End If
Next c

End Sub


Un truc de ce genre là fonctionne, plus qu'à rajouter ce que tu veux ^^

Cordialement,
1 membre du forum aime ce message.
Avatar du membre
NatKJ
Membre habitué
Membre habitué
Messages : 57
Inscrit le : 31 juillet 2019
Version d'Excel : EXCEL 2016

Message par NatKJ » 13 septembre 2019, 14:52

SanGroku a écrit :
13 septembre 2019, 14:47
Re,

Sub Aligner()

Dim plage As Range, c As Range

Set plage = ThisWorkbook.Worksheets("PROPOSAL").Range("A1:A100")
For Each c In plage
If c.Value Like "SERVICES" Orc.Value Like "TRANSPORT" Then
c.HorizontalAlignment = xlCenter
End If
Next c

End Sub


Un truc de ce genre là fonctionne, plus qu'à rajouter ce que tu veux ^^

Cordialement,

Re,

Effectivement ca marche !

Mais j'ai trouvé une autre manière encore plus simple pour moi, du coup tout fonctionne à merveille,

Je te remercie beaucoup !

Bonne aprèm à toi,
Nat ::D
La noob sur excel :lole: :mrgreen:
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message