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

quel code VBA

3 réponses
Avatar
karine
bonjour,

je souhaiterai faire une macro qui copie les données d’un tcd en tant que
valeur et sur cette copie effectuer une mise en forme particulière (simple
d'ailleurs).

J’ai essayé pas l’enregistreur de macro, j’obtiens bien ce que je veux sauf
que dans mon premier TCD il y a 34 lignes, et dans les autres pas forcément
le même nombre. Du coup, la mise en forme s’applique quelques fois trop bas
ou trop haut.

Quel code pour remplacer celui la

Range("A4:J34").Select

Et lui dire sélectionner tout le tableau (TCD).

Idem pour la mise en forme

Range("L5:S33").Select

je veux qu'il l'applique seulement aux lignes existantes.

merci par avance pour vos réponse

3 réponses

Avatar
Joëlle B
Bonsoir,
remplace Range("A4:J34").Select
par en paramètrant la ligne de fin à la première ligne dont la colonne 1 est
vide

i = 4
While Cells(i, 1) <> ""
i = i + 1
Wend
Range(Cells(4, 1), Cells(i - 1, 10)).Select


Idem pour la mise en forme.
Avatar
LSteph
Bonjour Karine,

ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotSelect "", _
xlDataAndLabel, True


'lSteph

karine a écrit :
bonjour,

je souhaiterai faire une macro qui copie les données d’un tcd en tant que
valeur et sur cette copie effectuer une mise en forme particulière (simple
d'ailleurs).

J’ai essayé pas l’enregistreur de macro, j’obtiens bien ce que je veux sauf
que dans mon premier TCD il y a 34 lignes, et dans les autres pas forcément
le même nombre. Du coup, la mise en forme s’applique quelques fois trop bas
ou trop haut.

Quel code pour remplacer celui la

Range("A4:J34").Select

Et lui dire sélectionner tout le tableau (TCD).

Idem pour la mise en forme

Range("L5:S33").Select

je veux qu'il l'applique seulement aux lignes existantes.

merci par avance pour vos réponse


Avatar
karine
bonsoir, et merci pour la réponse

j'avoue que je ne comprend pas grand chose à la programmation. Aussi je dois
remplacer par quoi cette ligne

Range("A4:J34").Select

par

Range(Cells(4, 1), Cells(i - 1, 10)).Select

ou par tout ça

i = 4
While Cells(i, 1) <> ""
i = i + 1
Wend
Range(Cells(4, 1), Cells(i - 1, 10)).Select


dans mon cas, à quoi correspond i

désolé je suis un boulet


"Joëlle B" a écrit :

Bonsoir,
remplace Range("A4:J34").Select
par en paramètrant la ligne de fin à la première ligne dont la colonne 1 est
vide

i = 4
While Cells(i, 1) <> ""
i = i + 1
Wend
Range(Cells(4, 1), Cells(i - 1, 10)).Select


Idem pour la mise en forme.