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

Macro plante sur selection multiple

11 réponses
Avatar
michel
Bonjour a tous
J'ai une macro de mise en forme (bordures) d'un tableau qui bloque sur la
ligne
Range("A11:I12,A13:I23").Select
erreur la methode select de l'objet a echouee
or la macro a ete enregistree, de plus si je choisi debogage puis F8 la
ligne s'execute sans PB
Si quelq'un a une idee
Merci a tous
Michel

10 réponses

1 2
Avatar
michdenis
Bonjour Michel,

| Range("A11:I12,A13:I23").Select
*** Il n'y a aucune raison que cette ligne provoque une erreur
sauf si la feuille est protégée

*** Cette ligne de code fait le même travail :
Range("A11:I23").Select

Publie ta macro, cela nous permettra de mieux évaluer l'environnement
de ta ligne de code à problème !




"michel" a écrit dans le message de groupe de discussion
: #
Bonjour a tous
J'ai une macro de mise en forme (bordures) d'un tableau qui bloque sur la
ligne
Range("A11:I12,A13:I23").Select
erreur la methode select de l'objet a echouee
or la macro a ete enregistree, de plus si je choisi debogage puis F8 la
ligne s'execute sans PB
Si quelq'un a une idee
Merci a tous
Michel
Avatar
isabelle
bonjour Michel,

Application.Goto Range("A11:I12,A13:I23")

isabelle

michel a écrit :
Bonjour a tous
J'ai une macro de mise en forme (bordures) d'un tableau qui bloque sur
la ligne
Range("A11:I12,A13:I23").Select
erreur la methode select de l'objet a echouee
or la macro a ete enregistree, de plus si je choisi debogage puis F8
la ligne s'execute sans PB
Si quelq'un a une idee
Merci a tous
Michel


Avatar
isabelle
michdenis a écrit :
| Range("A11:I12,A13:I23").Select
*** Il n'y a aucune raison que cette ligne provoque une erreur
sauf si la feuille est protégée



ou bien si le focus n'est pas sur la feuille, ;-)

isabelle
Avatar
michel
Bonjour et merci de ta reponse
Dans l'absolu ta ligne est equivalente mais pas pour faire les bordures du
contour
le fait de faire une selection multiple trace le contour des 2 blocs
je peux te donner le code complet mais il est un peu long (enregisteur
bavard)
mais le plus surprenant c'est que j'avais precedement une erreur sur une
autre selection multiple prealable et pareil
debogage F8 et ca roulait j'usqu'au bout c'est a dire que cette ligne ne
posait aucun pb
ci apres la macro de mise en forme
@plus
Sub MEF()
Windows("RecapVotesRegion.xls").Activate
Range("A12") = "Region"
Range("B12") = "Mandats"
Range("C12") = "Exprimés"
Range("D12") = "NB"
Range("E12") = "%"
Range("F12") = "NB"
Range("G12") = "%"
Range("H12") = "NB"
Range("I12") = "%"
Range("D11") = "POUR"
With Range("D11:E11")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D11:E11").Merge
With Range("F11:G11")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("F11:G11").Merge
With Range("H11:I11")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("H11:I11").Merge
Range("F11:G11") = "CONTRE"
Range("H11:I11") = "ABSTENTION"
Range("A12:I12").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D11:I11").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
End With
' ici au depart une selection multiple qui
bloquait ------------------------------------------
Range("11:23").RowHeight = 24
Range("28:40").RowHeight = 24
Range("45:57").RowHeight = 24
'Range("A47").Activate
'Selection.RowHeight = 24
Range("A11:I12").Select
Selection.Copy
Range("A28").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:
Range("A45").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'maintenant c'est ici --------------------------------------------
Range("A11:I12,A13:I23").Select
Range("A13").Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
Columns("A:A").EntireColumn.AutoFit
Selection.Copy
Range("A28:I40").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
ActiveWindow.SmallScroll Down:=9
Selection.Copy
Range("A45:I57").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
End Sub

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

| Range("A11:I12,A13:I23").Select
*** Il n'y a aucune raison que cette ligne provoque une erreur
sauf si la feuille est protégée

*** Cette ligne de code fait le même travail :
Range("A11:I23").Select

Publie ta macro, cela nous permettra de mieux évaluer l'environnement
de ta ligne de code à problème !




"michel" a écrit dans le message de
groupe de discussion
: #
Bonjour a tous
J'ai une macro de mise en forme (bordures) d'un tableau qui bloque sur la
ligne
Range("A11:I12,A13:I23").Select
erreur la methode select de l'objet a echouee
or la macro a ete enregistree, de plus si je choisi debogage puis F8 la
ligne s'execute sans PB
Si quelq'un a une idee
Merci a tous
Michel



Avatar
michel
Bonjour Isabelle
Merci mais meme PB
Je peux eviter le PB par plusieurs selections mais j'aimerais surtout
comprendre pourquoi
Michel
"isabelle" a écrit dans le message de
news:%
bonjour Michel,

Application.Goto Range("A11:I12,A13:I23")

isabelle

michel a écrit :
Bonjour a tous
J'ai une macro de mise en forme (bordures) d'un tableau qui bloque sur la
ligne
Range("A11:I12,A13:I23").Select
erreur la methode select de l'objet a echouee
or la macro a ete enregistree, de plus si je choisi debogage puis F8 la
ligne s'execute sans PB
Si quelq'un a une idee
Merci a tous
Michel




Avatar
Jacky
Bonjour,

... une macro de mise en forme (bordures) d'un tableau....


Sans compter que pour les bordures, on peut se passer du "Select"
'------------
Range("A11:I23").BorderAround LineStyle:=xlDouble
'---------------

--
Salutations
JJ


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



michdenis a écrit :
| Range("A11:I12,A13:I23").Select
*** Il n'y a aucune raison que cette ligne provoque une erreur
sauf si la feuille est protégée



ou bien si le focus n'est pas sur la feuille, ;-)

isabelle


Avatar
michdenis
J'ai testé ton code sous 2007, ta macro se déroule
sans aucun pépin.

Testé sous 2003, cette propriété n'est pas défini dans
cette version d'excel, il faut la désactiver.
' .TintAndShade = 0



"michel" a écrit dans le message de groupe de discussion
:
Bonjour et merci de ta reponse
Dans l'absolu ta ligne est equivalente mais pas pour faire les bordures du
contour
le fait de faire une selection multiple trace le contour des 2 blocs
je peux te donner le code complet mais il est un peu long (enregisteur
bavard)
mais le plus surprenant c'est que j'avais precedement une erreur sur une
autre selection multiple prealable et pareil
debogage F8 et ca roulait j'usqu'au bout c'est a dire que cette ligne ne
posait aucun pb
ci apres la macro de mise en forme
@plus
Sub MEF()
Windows("RecapVotesRegion.xls").Activate
Range("A12") = "Region"
Range("B12") = "Mandats"
Range("C12") = "Exprimés"
Range("D12") = "NB"
Range("E12") = "%"
Range("F12") = "NB"
Range("G12") = "%"
Range("H12") = "NB"
Range("I12") = "%"
Range("D11") = "POUR"
With Range("D11:E11")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D11:E11").Merge
With Range("F11:G11")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("F11:G11").Merge
With Range("H11:I11")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("H11:I11").Merge
Range("F11:G11") = "CONTRE"
Range("H11:I11") = "ABSTENTION"
Range("A12:I12").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D11:I11").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
End With
' ici au depart une selection multiple qui
bloquait ------------------------------------------
Range("11:23").RowHeight = 24
Range("28:40").RowHeight = 24
Range("45:57").RowHeight = 24
'Range("A47").Activate
'Selection.RowHeight = 24
Range("A11:I12").Select
Selection.Copy
Range("A28").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:
Range("A45").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'maintenant c'est ici --------------------------------------------
Range("A11:I12,A13:I23").Select
Range("A13").Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
Columns("A:A").EntireColumn.AutoFit
Selection.Copy
Range("A28:I40").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
ActiveWindow.SmallScroll Down:=9
Selection.Copy
Range("A45:I57").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
End Sub

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

| Range("A11:I12,A13:I23").Select
*** Il n'y a aucune raison que cette ligne provoque une erreur
sauf si la feuille est protégée

*** Cette ligne de code fait le même travail :
Range("A11:I23").Select

Publie ta macro, cela nous permettra de mieux évaluer l'environnement
de ta ligne de code à problème !




"michel" a écrit dans le message de
groupe de discussion
: #
Bonjour a tous
J'ai une macro de mise en forme (bordures) d'un tableau qui bloque sur la
ligne
Range("A11:I12,A13:I23").Select
erreur la methode select de l'objet a echouee
or la macro a ete enregistree, de plus si je choisi debogage puis F8 la
ligne s'execute sans PB
Si quelq'un a une idee
Merci a tous
Michel



Avatar
michdenis
En supposant, que dans la feuille, il y a un objet sélectionnée
comme une zone de texte, je ne vois pas pourquoi si j'exécute
range("A1:A10").Select renverrait une erreur !

Désolé, mais je ne comprends pas :
"si le focus n'est pas sur la feuille"




"isabelle" a écrit dans le message de groupe de discussion :



michdenis a écrit :
| Range("A11:I12,A13:I23").Select
*** Il n'y a aucune raison que cette ligne provoque une erreur
sauf si la feuille est protégée



ou bien si le focus n'est pas sur la feuille, ;-)

isabelle
Avatar
michdenis
Une spécification à mon test :

La feuille n'avait aucune donnée !
Avatar
michel
Bonjour
Merci de ton interet ,en fait je pense a un pb sur ma machine car j'ai
continue les test sur mon portable et sur cette autre machine aucun PB
@plus
Michel
"michdenis" a écrit dans le message de
news:eA8xh%
J'ai testé ton code sous 2007, ta macro se déroule
sans aucun pépin.

Testé sous 2003, cette propriété n'est pas défini dans
cette version d'excel, il faut la désactiver.
' .TintAndShade = 0



"michel" a écrit dans le message de
groupe de discussion
:
Bonjour et merci de ta reponse
Dans l'absolu ta ligne est equivalente mais pas pour faire les bordures du
contour
le fait de faire une selection multiple trace le contour des 2 blocs
je peux te donner le code complet mais il est un peu long (enregisteur
bavard)
mais le plus surprenant c'est que j'avais precedement une erreur sur une
autre selection multiple prealable et pareil
debogage F8 et ca roulait j'usqu'au bout c'est a dire que cette ligne ne
posait aucun pb
ci apres la macro de mise en forme
@plus
Sub MEF()
Windows("RecapVotesRegion.xls").Activate
Range("A12") = "Region"
Range("B12") = "Mandats"
Range("C12") = "Exprimés"
Range("D12") = "NB"
Range("E12") = "%"
Range("F12") = "NB"
Range("G12") = "%"
Range("H12") = "NB"
Range("I12") = "%"
Range("D11") = "POUR"
With Range("D11:E11")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D11:E11").Merge
With Range("F11:G11")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("F11:G11").Merge
With Range("H11:I11")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("H11:I11").Merge
Range("F11:G11") = "CONTRE"
Range("H11:I11") = "ABSTENTION"
Range("A12:I12").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D11:I11").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
End With
' ici au depart une selection multiple qui
bloquait ------------------------------------------
Range("11:23").RowHeight = 24
Range("28:40").RowHeight = 24
Range("45:57").RowHeight = 24
'Range("A47").Activate
'Selection.RowHeight = 24
Range("A11:I12").Select
Selection.Copy
Range("A28").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:
Range("A45").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'maintenant c'est ici --------------------------------------------
Range("A11:I12,A13:I23").Select
Range("A13").Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
Columns("A:A").EntireColumn.AutoFit
Selection.Copy
Range("A28:I40").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
ActiveWindow.SmallScroll Down:=9
Selection.Copy
Range("A45:I57").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
End Sub

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

| Range("A11:I12,A13:I23").Select
*** Il n'y a aucune raison que cette ligne provoque une erreur
sauf si la feuille est protégée

*** Cette ligne de code fait le même travail :
Range("A11:I23").Select

Publie ta macro, cela nous permettra de mieux évaluer l'environnement
de ta ligne de code à problème !




"michel" a écrit dans le message de
groupe de discussion
: #
Bonjour a tous
J'ai une macro de mise en forme (bordures) d'un tableau qui bloque sur la
ligne
Range("A11:I12,A13:I23").Select
erreur la methode select de l'objet a echouee
or la macro a ete enregistree, de plus si je choisi debogage puis F8 la
ligne s'execute sans PB
Si quelq'un a une idee
Merci a tous
Michel






1 2