Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

18 réponses
Avatar
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

10 réponses

1 2
Avatar
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
Avatar
Jacquouille
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" a écrit dans le message de news:

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




Avatar
Daniel.C
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" a écrit dans le message de news:

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




Avatar
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" a écrit dans le message de news:

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
Avatar
Bear76
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" a écrit dans le message de news:

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
Avatar
Jacquouille
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" a écrit dans le message de news:

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" a écrit dans le message de news:

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


Avatar
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
Avatar
Jacquouille
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" a écrit dans le message de news:

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


Avatar
Daniel.C
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" a écrit dans le message de news:

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


Avatar
Bear76
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) <> "26" And Left(C.Value, 2) <> "69" Or
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
1 2