Mettre en forme une plage de cellule selon le libellé en ligne 1

Le
Bear76
Bonjour à toute la communauté,

Toujours dans la problématique de mise en forme automatique de mon
tableau, je voudrais pouvoir appliqué un format (exp : .NumberFormat =
"0") à une plage de cellule en fonction du libellé situé en ligne1.

Les dimensions (nombre de lignes et nombre de colonnes) de mon tableau
sont variables. Il peut contenir un jour 15 colonnes et 100 lignes et
un autre jour 21 colonnes et 267 lignes.

La première ligne de mon tableau contient des libellés.

Si dans cette première ligne de tableau, des cellules contiennent
respectivement les valeurs (par exp : StockMini, StockAlerte,
CoefRéappro), il faudrait sélectionner les plages qui se situent
immédiatement en dessous jusqu'à la dernière ligne puis pouvoir
appliquer un format.

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #21376381
Une façon de faire :

Sub test1()
Dim Libellés, Couleur As Integer, Couleurs
'libellés à conserver
Libellés = Array("StockMini", "StockAlerte", "CoefRéappro")
Couleurs = Array(3, 6, 55)
'remplace "ATraiter.xlsx" par le nom de ton classeur
For i = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column
num = Application.Match(Cells(1, i), Libellés, 0)
Couleur = Application.Index(Couleurs, num)
Range(Cells(2, i), Cells(65000, i).End(xlUp)).Interior.ColorIndex =
Couleur
Next i
End Sub

Daniel

Bonjour à toute la communauté,

Toujours dans la problématique de mise en forme automatique de mon tableau,
je voudrais pouvoir appliqué un format (exp : .NumberFormat = "0") à une
plage de cellule en fonction du libellé situé en ligne1.

Les dimensions (nombre de lignes et nombre de colonnes) de mon tableau sont
variables. Il peut contenir un jour 15 colonnes et 100 lignes et un autre
jour 21 colonnes et 267 lignes.

La première ligne de mon tableau contient des libellés.

Si dans cette première ligne de tableau, des cellules contiennent
respectivement les valeurs (par exp : StockMini, StockAlerte, CoefRéappro),
il faudrait sélectionner les plages qui se situent immédiatement en dessous
jusqu'à la dernière ligne puis pouvoir appliquer un format.

Merci d'avance
Jacquouille
Le #21376551
Bonjour Daniel
Dans une MEFC, la plage peut-elle être nommée?
Si oui, est-il concevable qu'elle change de dimùensions en insérant lignes
ou colonnes?
Si oui pour tout, le problème posé pourrait-il être résolu avec une MEFC ?
Merci et bonne fin de WE


--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Daniel.C"
Une façon de faire :

Sub test1()
Dim Libellés, Couleur As Integer, Couleurs
'libellés à conserver
Libellés = Array("StockMini", "StockAlerte", "CoefRéappro")
Couleurs = Array(3, 6, 55)
'remplace "ATraiter.xlsx" par le nom de ton classeur
For i = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column
num = Application.Match(Cells(1, i), Libellés, 0)
Couleur = Application.Index(Couleurs, num)
Range(Cells(2, i), Cells(65000, i).End(xlUp)).Interior.ColorIndex =
Couleur
Next i
End Sub

Daniel

Bonjour à toute la communauté,

Toujours dans la problématique de mise en forme automatique de mon
tableau, je voudrais pouvoir appliqué un format (exp : .NumberFormat =
"0") à une plage de cellule en fonction du libellé situé en ligne1.

Les dimensions (nombre de lignes et nombre de colonnes) de mon tableau
sont variables. Il peut contenir un jour 15 colonnes et 100 lignes et un
autre jour 21 colonnes et 267 lignes.

La première ligne de mon tableau contient des libellés.

Si dans cette première ligne de tableau, des cellules contiennent
respectivement les valeurs (par exp : StockMini, StockAlerte,
CoefRéappro), il faudrait sélectionner les plages qui se situent
immédiatement en dessous jusqu'à la dernière ligne puis pouvoir appliquer
un format.

Merci d'avance




Daniel.C
Le #21376661
Bonjour Jacquouille.
Bonne idée. Je n'ai pas réussi à le faire fonctionner avec une plage
dynamique (elle est transposée en son équivalent cellules), mais on
peut appliquer la MFC à chaque colonne.
Cordialement.
Daniel

Bonjour Daniel
Dans une MEFC, la plage peut-elle être nommée?
Si oui, est-il concevable qu'elle change de dimùensions en insérant lignes ou
colonnes?
Si oui pour tout, le problème posé pourrait-il être résolu avec une MEFC ?
Merci et bonne fin de WE


--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Daniel.C"
Une façon de faire :

Sub test1()
Dim Libellés, Couleur As Integer, Couleurs
'libellés à conserver
Libellés = Array("StockMini", "StockAlerte", "CoefRéappro")
Couleurs = Array(3, 6, 55)
'remplace "ATraiter.xlsx" par le nom de ton classeur
For i = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column
num = Application.Match(Cells(1, i), Libellés, 0)
Couleur = Application.Index(Couleurs, num)
Range(Cells(2, i), Cells(65000, i).End(xlUp)).Interior.ColorIndex =
Couleur
Next i
End Sub

Daniel

Bonjour à toute la communauté,

Toujours dans la problématique de mise en forme automatique de mon
tableau, je voudrais pouvoir appliqué un format (exp : .NumberFormat =
"0") à une plage de cellule en fonction du libellé situé en ligne1.

Les dimensions (nombre de lignes et nombre de colonnes) de mon tableau
sont variables. Il peut contenir un jour 15 colonnes et 100 lignes et un
autre jour 21 colonnes et 267 lignes.

La première ligne de mon tableau contient des libellés.

Si dans cette première ligne de tableau, des cellules contiennent
respectivement les valeurs (par exp : StockMini, StockAlerte,
CoefRéappro), il faudrait sélectionner les plages qui se situent
immédiatement en dessous jusqu'à la dernière ligne puis pouvoir appliquer
un format.

Merci d'avance




Bear76
Le #21377521
Jacquouille avait prétendu :
Bonjour Daniel
Dans une MEFC, la plage peut-elle être nommée?
Si oui, est-il concevable qu'elle change de dimùensions en insérant lignes ou
colonnes?
Si oui pour tout, le problème posé pourrait-il être résolu avec une MEFC ?
Merci et bonne fin de WE


--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Daniel.C"
Bonsoir,




En fait il n'est pas question d'appliquer une MEFC, c'est plutôt une
mise en forme des valeurs des plages de cellules.
Cdlt
Bear76
Le #21377511
Daniel.C a exprimé avec précision :
Bonjour Jacquouille.
Bonne idée. Je n'ai pas réussi à le faire fonctionner avec une plage
dynamique (elle est transposée en son équivalent cellules), mais on peut
appliquer la MFC à chaque colonne.
Cordialement.
Daniel

Bonjour Daniel
Dans une MEFC, la plage peut-elle être nommée?
Si oui, est-il concevable qu'elle change de dimùensions en insérant lignes
ou colonnes?
Si oui pour tout, le problème posé pourrait-il être résolu avec une MEFC ?
Merci et bonne fin de WE


--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Daniel.C"
Une façon de faire :

Sub test1()
Dim Libellés, Couleur As Integer, Couleurs
'libellés à conserver
Libellés = Array("StockMini", "StockAlerte", "CoefRéappro")
Couleurs = Array(3, 6, 55)
'remplace "ATraiter.xlsx" par le nom de ton classeur
For i = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column
num = Application.Match(Cells(1, i), Libellés, 0)
Couleur = Application.Index(Couleurs, num)
Range(Cells(2, i), Cells(65000, i).End(xlUp)).Interior.ColorIndex =
Couleur
Next i
End Sub

Daniel






Bonsoir,
C'est n'est pas d'une ou de plusieurs MEFC dont il est question, plutôt
une mise en forme des valeurs de cellules. Formater les valeurs en
nombre standard, en texte, etc.
Cdlt
Jacquouille
Le #21377681
Bonjour Mr Bear

Et qu'est-ce donc qu'une MEFC ?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Bear76"
Jacquouille avait prétendu :
Bonjour Daniel
Dans une MEFC, la plage peut-elle être nommée?
Si oui, est-il concevable qu'elle change de dimùensions en insérant
lignes ou colonnes?
Si oui pour tout, le problème posé pourrait-il être résolu avec une MEFC
?
Merci et bonne fin de WE


--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Daniel.C"
Bonsoir,




En fait il n'est pas question d'appliquer une MEFC, c'est plutôt une mise
en forme des valeurs des plages de cellules.
Cdlt


Bear76
Le #21381791
Jacquouille a formulé ce dimanche :
Bonjour Mr Bear

Et qu'est-ce donc qu'une MEFC ?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.



Bonsoir,
Oui effectivement, mais j'étais resté focalisé sur la mise en forme de
la cellule (polices, tailles, attributs, arrière-plans et motifs ainsi
que bordures)
Cdlt
Jacquouille
Le #21382581
Ben, on peut faire tout cela avec une MEFC .....

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Bear76"
Jacquouille a formulé ce dimanche :
Bonjour Mr Bear

Et qu'est-ce donc qu'une MEFC ?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.



Bonsoir,
Oui effectivement, mais j'étais resté focalisé sur la mise en forme de la
cellule (polices, tailles, attributs, arrière-plans et motifs ainsi que
bordures)
Cdlt


Daniel.C
Le #21382551
La seule différence, c'est que tu perds ta mise en forme si tu recopies
une cellule ailleurs (si ça a une importance ?).
Daniel

Ben, on peut faire tout cela avec une MEFC .....

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Bear76"
Jacquouille a formulé ce dimanche :
Bonjour Mr Bear

Et qu'est-ce donc qu'une MEFC ?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.



Bonsoir,
Oui effectivement, mais j'étais resté focalisé sur la mise en forme de la
cellule (polices, tailles, attributs, arrière-plans et motifs ainsi que
bordures)
Cdlt


Bear76
Le #21386631
Daniel.C vient de nous annoncer :
La seule différence, c'est que tu perds ta mise en forme si tu recopies une
cellule ailleurs (si ça a une importance ?).
Daniel

Ben, on peut faire tout cela avec une MEFC .....

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."





Bonsoir,

Les cellules ou plages de cellules ne seront pas recopiées une fois la
mise en forme exécutée.
Là, je bute sur un autre problème avec le tableau.
Je cherche à supprimer dans les plages de cellules (Tel, gsm, Fax) des
caractères indésirables (Arr3).
Je pense que mes structures de contrôles ne sont pas bien positionnées
et notamment For j To ..., car j'ai une erreur d'exécution 091 qui
s'affiche. Comme je débute ...

Si vous aviez le temps de vou pencher sur le problème.
Merci d'avance.


Sub MEFcCellule()

Dim Arr1, Arr2, Arr3, i As Integer, j As Integer
Dim elt As Range, C As Range, Cells As Range, ZoneSelection As Range

Arr1 = Array("N° Licence")
Arr2 = Array("Tel", "gsm", "Fax")
Arr3 = Array(Chr(160), Chr(32), ".", "-", "(", ",")

For i = Cells(1, Cells.Columns.Count).End(xlToLeft).Column To 1 Step -1
NumCol = Application.Match(Cells(1, i), Arr1, 0)
Range(Cells(2, i), Cells(1000, i).End(xlUp)).NumberFormat = "0"
Next i

For j = Cells(1, Cells.Columns.Count).End(xlToLeft).Column To 1 Step -1
NumCol = Application.Match(Cells(1, j), Arr2, 0)
Set ZoneSelection = Sheets(1).Range(Cells(2, j), Cells(1000,
j).End(xlUp))
With ZoneSelection
.NumberFormat = "@"
For Each elt In Arr3
.Cells.Replace elt, ""
Next elt
For Each C In .Cells
If Len(C) > 9 Then C.Value = Left(C.Value, Len(C.Value) -
(Len(C.Value) - 9))
Next C
For Each C In .Cells
If Left(C.Value, 2) Len(C) <> 9 Then C.Value = ""
Next C
For Each C In .Cells
If Len(C) = 9 Then C.Value = "0" & C.Value
Next C
End With
Next j

End Sub
Publicité
Poster une réponse
Anonyme