J'ai un petit pb de simplification de code (en particulier avec la
boucle "For a = 7 To 12") :
'--------
With Selection
.ClearContents
.UnMerge
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.RowHeight = 11.25
.Interior.ColorIndex = xlNone
End With
With Selection
For a = 7 To 12
.Borders(a).xlContinuous
Next
End With
With Selection
For a = 7 To 12
.Borders(a).Weight = xlThin
Next
End With
With Selection
For a = 7 To 12
.Borders(a).ColorIndex = xlAutomatic
Next
End With
With Selection.Font
.Name = "Verdana"
.FontStyle = "Normal"
.Size = 9
End With
'-------
J'avais même essayé :
'-------
With Selection
For a = 7 To 12
.Borders(a).xlContinuous
.Borders(a).Weight = xlThin
.Borders(a).ColorIndex = xlAutomatic
Next
End With
'-------
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
j-pascal
Bonsoir Denis,
Merci.
En haut du code, j'ai :
'---- Sub Reset_Feuil_Import() Dim img As Object
Stop Application.ScreenUpdating = False Cells.Select '----- MD On Error Resume Next With Selection .ClearContents ' [en mode "pas à pas", cette ligne est sélectionnée, mais il n'y a aucune action qui s'effectue à partir de là !] '----
Je ne comprends pas pourquoi ! Si j'insère, "On Error Resume Next", toutes les lignes suivantes sont successivement sélectionnées, mais sans aucune action !
jp
Bonjour J-Pascal,
Ceci est suffisant :
Il est préférable d'utiliser l'objet Range pour définir la plage de cellules
With Selection .ClearContents .UnMerge .HorizontalAlignment = xlLeft .VerticalAlignment = xlCenter .RowHeight = 11.25 .Interior.ColorIndex = xlNone .Name = "Verdana" .Font.FontStyle = xlNormal .Font.Size = 9 For a = 7 To 12 .Borders(a).LineStyle = xlContinuous .Borders(a).Weight = xlThin .Borders(a).ColorIndex = xlAutomatic Next End With
"j-pascal" a écrit dans le message de groupe de discussion : Bonsoir,
J'ai un petit pb de simplification de code (en particulier avec la boucle "For a = 7 To 12") :
'-------- With Selection .ClearContents .UnMerge .HorizontalAlignment = xlLeft .VerticalAlignment = xlCenter .RowHeight = 11.25 .Interior.ColorIndex = xlNone End With
With Selection For a = 7 To 12 .Borders(a).xlContinuous Next End With
With Selection For a = 7 To 12 .Borders(a).Weight = xlThin Next End With
With Selection For a = 7 To 12 .Borders(a).ColorIndex = xlAutomatic Next End With
With Selection.Font .Name = "Verdana" .FontStyle = "Normal" .Size = 9 End With '-------
J'avais même essayé :
'------- With Selection For a = 7 To 12 .Borders(a).xlContinuous .Borders(a).Weight = xlThin .Borders(a).ColorIndex = xlAutomatic Next End With '-------
qui ne fonctionne pas !
Merci pour votre aide,
jp
Bonsoir Denis,
Merci.
En haut du code, j'ai :
'----
Sub Reset_Feuil_Import()
Dim img As Object
Stop
Application.ScreenUpdating = False
Cells.Select
'----- MD
On Error Resume Next
With Selection
.ClearContents ' [en mode "pas à pas", cette ligne est
sélectionnée, mais il n'y a aucune action qui s'effectue à partir de là
!]
'----
Je ne comprends pas pourquoi !
Si j'insère, "On Error Resume Next", toutes les lignes suivantes sont
successivement sélectionnées, mais sans aucune action !
jp
Bonjour J-Pascal,
Ceci est suffisant :
Il est préférable d'utiliser l'objet Range pour définir la plage de cellules
With Selection
.ClearContents
.UnMerge
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.RowHeight = 11.25
.Interior.ColorIndex = xlNone
.Name = "Verdana"
.Font.FontStyle = xlNormal
.Font.Size = 9
For a = 7 To 12
.Borders(a).LineStyle = xlContinuous
.Borders(a).Weight = xlThin
.Borders(a).ColorIndex = xlAutomatic
Next
End With
"j-pascal" <messages@venir.com> a écrit dans le message de groupe de
discussion : mn.35377d959736ab72.81386@venir.com... Bonsoir,
J'ai un petit pb de simplification de code (en particulier avec la
boucle "For a = 7 To 12") :
'--------
With Selection
.ClearContents
.UnMerge
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.RowHeight = 11.25
.Interior.ColorIndex = xlNone
End With
With Selection
For a = 7 To 12
.Borders(a).xlContinuous
Next
End With
With Selection
For a = 7 To 12
.Borders(a).Weight = xlThin
Next
End With
With Selection
For a = 7 To 12
.Borders(a).ColorIndex = xlAutomatic
Next
End With
With Selection.Font
.Name = "Verdana"
.FontStyle = "Normal"
.Size = 9
End With
'-------
J'avais même essayé :
'-------
With Selection
For a = 7 To 12
.Borders(a).xlContinuous
.Borders(a).Weight = xlThin
.Borders(a).ColorIndex = xlAutomatic
Next
End With
'-------
Stop Application.ScreenUpdating = False Cells.Select '----- MD On Error Resume Next With Selection .ClearContents ' [en mode "pas à pas", cette ligne est sélectionnée, mais il n'y a aucune action qui s'effectue à partir de là !] '----
Je ne comprends pas pourquoi ! Si j'insère, "On Error Resume Next", toutes les lignes suivantes sont successivement sélectionnées, mais sans aucune action !
jp
Bonjour J-Pascal,
Ceci est suffisant :
Il est préférable d'utiliser l'objet Range pour définir la plage de cellules
With Selection .ClearContents .UnMerge .HorizontalAlignment = xlLeft .VerticalAlignment = xlCenter .RowHeight = 11.25 .Interior.ColorIndex = xlNone .Name = "Verdana" .Font.FontStyle = xlNormal .Font.Size = 9 For a = 7 To 12 .Borders(a).LineStyle = xlContinuous .Borders(a).Weight = xlThin .Borders(a).ColorIndex = xlAutomatic Next End With
"j-pascal" a écrit dans le message de groupe de discussion : Bonsoir,
J'ai un petit pb de simplification de code (en particulier avec la boucle "For a = 7 To 12") :
'-------- With Selection .ClearContents .UnMerge .HorizontalAlignment = xlLeft .VerticalAlignment = xlCenter .RowHeight = 11.25 .Interior.ColorIndex = xlNone End With
With Selection For a = 7 To 12 .Borders(a).xlContinuous Next End With
With Selection For a = 7 To 12 .Borders(a).Weight = xlThin Next End With
With Selection For a = 7 To 12 .Borders(a).ColorIndex = xlAutomatic Next End With
With Selection.Font .Name = "Verdana" .FontStyle = "Normal" .Size = 9 End With '-------
J'avais même essayé :
'------- With Selection For a = 7 To 12 .Borders(a).xlContinuous .Borders(a).Weight = xlThin .Borders(a).ColorIndex = xlAutomatic Next End With '-------
qui ne fonctionne pas !
Merci pour votre aide,
jp
j-pascal
Bonjour Denis,
Cette fois, c'est noté (j'espère !),
Merci
jp
C'est quoi la grosseur de ton tableau
Quelques centaines de lignes par quelques dizaines de colonnes ?
Et pour formater ce petit tableau, tu trouves intelligent d'appliquer ton format à toutes les cellules d'une feuille de calcul soit 65536 lignes par 256 colonnes pour les version d'avant Excel 2007 et pour Excel 2007 au delà de 1,000,000 lignes par plus 16,000 colonnes. Ceci signifie que tu vas te retrouver avec un énorme fichier sans qu'il n'y ait aucune donnée, aucune formule à l'intérieur. ça ne fait aucun sens.
Je te le répète encore une fois, utilise un objet range et traite la plage dont tu as de besoin au lieu de traiter la totalité de la feuille de calcul.
Range("A1:Z500") au lieu de l'expression générique Selection.
"j-pascal" a écrit dans le message de groupe de discussion : Bonsoir Denis,
Merci.
En haut du code, j'ai :
'---- Sub Reset_Feuil_Import() Dim img As Object
Stop Application.ScreenUpdating = False Cells.Select '----- MD On Error Resume Next With Selection .ClearContents ' [en mode "pas à pas", cette ligne est sélectionnée, mais il n'y a aucune action qui s'effectue à partir de là !] '----
Je ne comprends pas pourquoi ! Si j'insère, "On Error Resume Next", toutes les lignes suivantes sont successivement sélectionnées, mais sans aucune action !
jp
Bonjour J-Pascal,
Ceci est suffisant :
Il est préférable d'utiliser l'objet Range pour définir la plage de cellules
With Selection .ClearContents .UnMerge .HorizontalAlignment = xlLeft .VerticalAlignment = xlCenter .RowHeight = 11.25 .Interior.ColorIndex = xlNone .Name = "Verdana" .Font.FontStyle = xlNormal .Font.Size = 9 For a = 7 To 12 .Borders(a).LineStyle = xlContinuous .Borders(a).Weight = xlThin .Borders(a).ColorIndex = xlAutomatic Next End With
"j-pascal" a écrit dans le message de groupe de discussion : Bonsoir,
J'ai un petit pb de simplification de code (en particulier avec la boucle "For a = 7 To 12") :
'-------- With Selection .ClearContents .UnMerge .HorizontalAlignment = xlLeft .VerticalAlignment = xlCenter .RowHeight = 11.25 .Interior.ColorIndex = xlNone End With
With Selection For a = 7 To 12 .Borders(a).xlContinuous Next End With
With Selection For a = 7 To 12 .Borders(a).Weight = xlThin Next End With
With Selection For a = 7 To 12 .Borders(a).ColorIndex = xlAutomatic Next End With
With Selection.Font .Name = "Verdana" .FontStyle = "Normal" .Size = 9 End With '-------
J'avais même essayé :
'------- With Selection For a = 7 To 12 .Borders(a).xlContinuous .Borders(a).Weight = xlThin .Borders(a).ColorIndex = xlAutomatic Next End With '-------
qui ne fonctionne pas !
Merci pour votre aide,
jp
Bonjour Denis,
Cette fois, c'est noté (j'espère !),
Merci
jp
C'est quoi la grosseur de ton tableau
Quelques centaines de lignes par quelques dizaines de colonnes ?
Et pour formater ce petit tableau, tu trouves intelligent d'appliquer
ton format à toutes les cellules d'une feuille de calcul soit
65536 lignes par 256 colonnes pour les version d'avant Excel 2007
et pour Excel 2007
au delà de 1,000,000 lignes par plus 16,000 colonnes. Ceci signifie
que tu vas te retrouver avec un énorme fichier sans qu'il n'y ait
aucune donnée, aucune formule à l'intérieur. ça ne fait aucun sens.
Je te le répète encore une fois, utilise un objet range et traite la plage
dont tu as de besoin au lieu de traiter la totalité de la feuille de calcul.
Range("A1:Z500") au lieu de l'expression générique Selection.
"j-pascal" <messages@venir.com> a écrit dans le message de groupe de
discussion : mn.35887d95262417be.81386@venir.com... Bonsoir Denis,
Merci.
En haut du code, j'ai :
'----
Sub Reset_Feuil_Import()
Dim img As Object
Stop
Application.ScreenUpdating = False
Cells.Select
'----- MD
On Error Resume Next
With Selection
.ClearContents ' [en mode "pas à pas", cette ligne est
sélectionnée, mais il n'y a aucune action qui s'effectue à partir de là
!]
'----
Je ne comprends pas pourquoi !
Si j'insère, "On Error Resume Next", toutes les lignes suivantes sont
successivement sélectionnées, mais sans aucune action !
jp
Bonjour J-Pascal,
Ceci est suffisant :
Il est préférable d'utiliser l'objet Range pour définir la plage de cellules
With Selection
.ClearContents
.UnMerge
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.RowHeight = 11.25
.Interior.ColorIndex = xlNone
.Name = "Verdana"
.Font.FontStyle = xlNormal
.Font.Size = 9
For a = 7 To 12
.Borders(a).LineStyle = xlContinuous
.Borders(a).Weight = xlThin
.Borders(a).ColorIndex = xlAutomatic
Next
End With
"j-pascal" <messages@venir.com> a écrit dans le message de groupe de
discussion : mn.35377d959736ab72.81386@venir.com... Bonsoir,
J'ai un petit pb de simplification de code (en particulier avec la
boucle "For a = 7 To 12") :
'--------
With Selection
.ClearContents
.UnMerge
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.RowHeight = 11.25
.Interior.ColorIndex = xlNone
End With
With Selection
For a = 7 To 12
.Borders(a).xlContinuous
Next
End With
With Selection
For a = 7 To 12
.Borders(a).Weight = xlThin
Next
End With
With Selection
For a = 7 To 12
.Borders(a).ColorIndex = xlAutomatic
Next
End With
With Selection.Font
.Name = "Verdana"
.FontStyle = "Normal"
.Size = 9
End With
'-------
J'avais même essayé :
'-------
With Selection
For a = 7 To 12
.Borders(a).xlContinuous
.Borders(a).Weight = xlThin
.Borders(a).ColorIndex = xlAutomatic
Next
End With
'-------
Quelques centaines de lignes par quelques dizaines de colonnes ?
Et pour formater ce petit tableau, tu trouves intelligent d'appliquer ton format à toutes les cellules d'une feuille de calcul soit 65536 lignes par 256 colonnes pour les version d'avant Excel 2007 et pour Excel 2007 au delà de 1,000,000 lignes par plus 16,000 colonnes. Ceci signifie que tu vas te retrouver avec un énorme fichier sans qu'il n'y ait aucune donnée, aucune formule à l'intérieur. ça ne fait aucun sens.
Je te le répète encore une fois, utilise un objet range et traite la plage dont tu as de besoin au lieu de traiter la totalité de la feuille de calcul.
Range("A1:Z500") au lieu de l'expression générique Selection.
"j-pascal" a écrit dans le message de groupe de discussion : Bonsoir Denis,
Merci.
En haut du code, j'ai :
'---- Sub Reset_Feuil_Import() Dim img As Object
Stop Application.ScreenUpdating = False Cells.Select '----- MD On Error Resume Next With Selection .ClearContents ' [en mode "pas à pas", cette ligne est sélectionnée, mais il n'y a aucune action qui s'effectue à partir de là !] '----
Je ne comprends pas pourquoi ! Si j'insère, "On Error Resume Next", toutes les lignes suivantes sont successivement sélectionnées, mais sans aucune action !
jp
Bonjour J-Pascal,
Ceci est suffisant :
Il est préférable d'utiliser l'objet Range pour définir la plage de cellules
With Selection .ClearContents .UnMerge .HorizontalAlignment = xlLeft .VerticalAlignment = xlCenter .RowHeight = 11.25 .Interior.ColorIndex = xlNone .Name = "Verdana" .Font.FontStyle = xlNormal .Font.Size = 9 For a = 7 To 12 .Borders(a).LineStyle = xlContinuous .Borders(a).Weight = xlThin .Borders(a).ColorIndex = xlAutomatic Next End With
"j-pascal" a écrit dans le message de groupe de discussion : Bonsoir,
J'ai un petit pb de simplification de code (en particulier avec la boucle "For a = 7 To 12") :
'-------- With Selection .ClearContents .UnMerge .HorizontalAlignment = xlLeft .VerticalAlignment = xlCenter .RowHeight = 11.25 .Interior.ColorIndex = xlNone End With
With Selection For a = 7 To 12 .Borders(a).xlContinuous Next End With
With Selection For a = 7 To 12 .Borders(a).Weight = xlThin Next End With
With Selection For a = 7 To 12 .Borders(a).ColorIndex = xlAutomatic Next End With
With Selection.Font .Name = "Verdana" .FontStyle = "Normal" .Size = 9 End With '-------
J'avais même essayé :
'------- With Selection For a = 7 To 12 .Borders(a).xlContinuous .Borders(a).Weight = xlThin .Borders(a).ColorIndex = xlAutomatic Next End With '-------