Boucle With pour mise en forme variable "texte"
Résolu
Jojo54
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonjour,
Voici mon problème, je cherche à optimer la mise en forme de colonne pour cela j'ai créer une variable texte qui contiens l'ensemble des plages que je veux sélectionner mais celle ci n'étant pas défini comme objet je n'arrive pas à utiliser cette variable pour ma mise en forme si vous avez une idée je prend
L'erreur arrive au moment de l'instruction with
Ci vous avez des idées je vous écoute attentivement
Merci
Voici mon problème, je cherche à optimer la mise en forme de colonne pour cela j'ai créer une variable texte qui contiens l'ensemble des plages que je veux sélectionner mais celle ci n'étant pas défini comme objet je n'arrive pas à utiliser cette variable pour ma mise en forme si vous avez une idée je prend
Sub Weekformat_Cliquer() Dim i As Integer Dim j As Integer Dim week_col week_col = "Columns(7)" ' définit ma première valeur For i = 9 To 390 Step 7 'boucle d'incrémentation Columns(7), Columns(9)... j = i + 1 week_col = week_col & ", Columns(" & i & "), Columns(" & j & ")" Next i With ThisWorkbook.Sheets("PdC").Range(week_col).Interior 'mise en forme .Pattern = xlSolid .PatternColorIndex = xlAutomatic .TintAndShade = -0.249977111117893 .PatternTintAndShade = 0 End With End Sub
L'erreur arrive au moment de l'instruction with
Ci vous avez des idées je vous écoute attentivement
Merci
A voir également:
- Boucle With pour mise en forme variable "texte"
- Mise en forme conditionnelle excel - Guide
- Mise en forme tableau word - Guide
- Mise en forme texte publication facebook - Guide
- Mise en forme tableau croisé dynamique - Guide
- Transcription audio en texte word gratuit - Guide
3 réponses
Bonjour ;
Au premier abord, il faudrait definir le type de données que vous allez mettre dans week_col, par exemple :
Dim week_col as string
mais pour votre boucle, je crois qu'il serait plus judicieux de definir week_col comme en table, de sorte que dans votre boucle, i -10 (pour commencer la table a 0) soit l'indice de week_col.
Cordialement
Au premier abord, il faudrait definir le type de données que vous allez mettre dans week_col, par exemple :
Dim week_col as string
mais pour votre boucle, je crois qu'il serait plus judicieux de definir week_col comme en table, de sorte que dans votre boucle, i -10 (pour commencer la table a 0) soit l'indice de week_col.
Cordialement
Bonjour,
Jojos54, tu dis :
celle ci n'étant pas défini comme objet je n'arrive pas à utiliser cette variable
AlexNew te répond :
Au premier abord, il faudrait definir le type de données que vous allez mettre dans week_col
C'est tout à fait là que se situe le problème.
Je pense que c'est bien une histoire de format
Si par format tu sous-entend formatage de cellule (Range), non ce n'est pas cela le problème.
une solution ? ou un piste de réflexion?
Essaye ce test :
1- On déclare week_col As Range. Comme ceci, on travaille directement avec l'objet. Attention on affecte les variables objets avec le mot clé Set.
2- On utilise Union pour "regrouper", "assembler" deux (ou plus, ici 3) objets Range.
Jojos54, tu dis :
celle ci n'étant pas défini comme objet je n'arrive pas à utiliser cette variable
AlexNew te répond :
Au premier abord, il faudrait definir le type de données que vous allez mettre dans week_col
C'est tout à fait là que se situe le problème.
Je pense que c'est bien une histoire de format
Si par format tu sous-entend formatage de cellule (Range), non ce n'est pas cela le problème.
une solution ? ou un piste de réflexion?
Essaye ce test :
1- On déclare week_col As Range. Comme ceci, on travaille directement avec l'objet. Attention on affecte les variables objets avec le mot clé Set.
2- On utilise Union pour "regrouper", "assembler" deux (ou plus, ici 3) objets Range.
Sub Test() Dim i As Integer Dim j As Integer Dim week_col As Range Set week_col = Columns(7) For i = 9 To 390 Step 7 j = i + 1 Set week_col = Union(week_col, Columns(i), Columns(j)) Next i week_col.Select End Sub
Je pense que c'est bien une histoire de format mais je ne vois pas comment le résoudre