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

Macro avec sélection multiple de colonnes

6 réponses
Avatar
benmat
Bonjour,

J'ai actuellement une macro en préparation.
J'ai une mise en forme identique à appliquer à un certain nb de colonnes.
J'ai enregistré une nouvelle macro qui se traduit de la manière suivante
après avoir fait les différentes manips :

Sub Form_Col()
Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").Select
Range("AD1").Activate
With Selection
.HorizontalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Columns.AutoFit
End Sub

Je rencontre un pb lorsque je veux la tester car une erreur 1004 se produit
sur la ligne suivante :
Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").Select
message : la méthode 'range" de l'objet 'global" a échoué.

Quelqu'un a-t-il une solution à me proposer car j'ai encore d'autres mises
en forme à appliquer à d'autres colonnes, telles que masquage.

Merci d'avance à toutes et à tous.
Bonne journée.
ANNIE

6 réponses

Avatar
AV
| Je rencontre un pb lorsque je veux la tester car une erreur 1004 se produit
| sur la ligne suivante :
| Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").Select
| message : la méthode 'range" de l'objet 'global" a échoué.

Perso et quelle que soit la version XL, je ne vois aucune raison pour que cette
syntaxe échoue..

AV
Avatar
benmat
Je suis tout à fait d'accord avec cette réponse, je ne vois pas non plus ce
qui empêche la macro de tourner correctement.
Je travaille sous Excel 2003

ANNIE


| Je rencontre un pb lorsque je veux la tester car une erreur 1004 se produit
| sur la ligne suivante :
| Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").Select
| message : la méthode 'range" de l'objet 'global" a échoué.

Perso et quelle que soit la version XL, je ne vois aucune raison pour que cette
syntaxe échoue..

AV





Avatar
Ardus Petus
Ta macro fonctionne sans erreur chez moi.
Tu peux l'optimiser en évitant le Select et Activate (qui proviennent
probablement de l'enregistreur de macros)

Sub Form_Col()
With Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").
.HorizontalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
.Columns.AutoFit
End With
End Sub

Cordialement,
--
AP

"benmat" a écrit dans le message de
news:
Bonjour,

J'ai actuellement une macro en préparation.
J'ai une mise en forme identique à appliquer à un certain nb de colonnes.
J'ai enregistré une nouvelle macro qui se traduit de la manière suivante
après avoir fait les différentes manips :

Sub Form_Col()
Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").Select
Range("AD1").Activate
With Selection
.HorizontalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Columns.AutoFit
End Sub

Je rencontre un pb lorsque je veux la tester car une erreur 1004 se
produit

sur la ligne suivante :
Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").Select
message : la méthode 'range" de l'objet 'global" a échoué.

Quelqu'un a-t-il une solution à me proposer car j'ai encore d'autres mises
en forme à appliquer à d'autres colonnes, telles que masquage.

Merci d'avance à toutes et à tous.
Bonne journée.
ANNIE



Avatar
papou
Bonjour
Pas de souci non plus chez moi mais par contre peut-être qu'en identifiant
complètement ta plage avec donc le nom de la feuille serait la solution ??
Cordialement
Pascal

"benmat" a écrit dans le message de news:

Je suis tout à fait d'accord avec cette réponse, je ne vois pas non plus
ce
qui empêche la macro de tourner correctement.
Je travaille sous Excel 2003

ANNIE


| Je rencontre un pb lorsque je veux la tester car une erreur 1004 se
produit
| sur la ligne suivante :
| Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").Select
| message : la méthode 'range" de l'objet 'global" a échoué.

Perso et quelle que soit la version XL, je ne vois aucune raison pour que
cette
syntaxe échoue..

AV







Avatar
isabelle
bonjour ANNIE,

cette erreur se produit si le focus n'est pas sur la feuille.

isabelle


Je suis tout à fait d'accord avec cette réponse, je ne vois pas non plus ce
qui empêche la macro de tourner correctement.
Je travaille sous Excel 2003

ANNIE



| Je rencontre un pb lorsque je veux la tester car une erreur 1004 se produit
| sur la ligne suivante :
| Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").Select
| message : la méthode 'range" de l'objet 'global" a échoué.

Perso et quelle que soit la version XL, je ne vois aucune raison pour que cette
syntaxe échoue..

AV







Avatar
benmat
Merci à tous,
J'ai retesté ma macro et miracle ! Elle fonctionne correctement.
Merci pour votre aide.
Bon week-end
Annie



Ta macro fonctionne sans erreur chez moi.
Tu peux l'optimiser en évitant le Select et Activate (qui proviennent
probablement de l'enregistreur de macros)

Sub Form_Col()
With Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").
.HorizontalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
.Columns.AutoFit
End With
End Sub

Cordialement,
--
AP

"benmat" a écrit dans le message de
news:
Bonjour,

J'ai actuellement une macro en préparation.
J'ai une mise en forme identique à appliquer à un certain nb de colonnes.
J'ai enregistré une nouvelle macro qui se traduit de la manière suivante
après avoir fait les différentes manips :

Sub Form_Col()
Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").Select
Range("AD1").Activate
With Selection
.HorizontalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Columns.AutoFit
End Sub

Je rencontre un pb lorsque je veux la tester car une erreur 1004 se
produit

sur la ligne suivante :
Range("D:D,I:I,J:J,N:N,S:S,AB:AB,AC:AC,AD:AD").Select
message : la méthode 'range" de l'objet 'global" a échoué.

Quelqu'un a-t-il une solution à me proposer car j'ai encore d'autres mises
en forme à appliquer à d'autres colonnes, telles que masquage.

Merci d'avance à toutes et à tous.
Bonne journée.
ANNIE