Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
bonjour migmag
ci-dessous copie d'une réponse produite il y a fort longtemps par le
révérend père Brossollette, seul ecclésiastique à avoir, avec benoît croix
bâton V, béni ce forume
la méthode classique (pour vider des cellules copiées)
application.cutcopymodeúlse
quel que soit le contenu (objets....)
Sub VidePP()
Dim rep As Boolean
With Application.CommandBars("clipboard")
rep = .Visible
If rep = False Then .Visible = True
If .FindControl(ID:634).Enabled = True Then .FindControl(ID:634).Execute
..Visible = rep
End With
End Sub
HTH
jps
"migmag" a écrit dans le message de news:Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
bonjour migmag
ci-dessous copie d'une réponse produite il y a fort longtemps par le
révérend père Brossollette, seul ecclésiastique à avoir, avec benoît croix
bâton V, béni ce forume
la méthode classique (pour vider des cellules copiées)
application.cutcopymodeúlse
quel que soit le contenu (objets....)
Sub VidePP()
Dim rep As Boolean
With Application.CommandBars("clipboard")
rep = .Visible
If rep = False Then .Visible = True
If .FindControl(ID:634).Enabled = True Then .FindControl(ID:634).Execute
..Visible = rep
End With
End Sub
HTH
jps
"migmag" <migmag@discussions.microsoft.com> a écrit dans le message de news:
A5B13753-E6C9-43D3-9764-AAF048F920FF@microsoft.com...
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
bonjour migmag
ci-dessous copie d'une réponse produite il y a fort longtemps par le
révérend père Brossollette, seul ecclésiastique à avoir, avec benoît croix
bâton V, béni ce forume
la méthode classique (pour vider des cellules copiées)
application.cutcopymodeúlse
quel que soit le contenu (objets....)
Sub VidePP()
Dim rep As Boolean
With Application.CommandBars("clipboard")
rep = .Visible
If rep = False Then .Visible = True
If .FindControl(ID:634).Enabled = True Then .FindControl(ID:634).Execute
..Visible = rep
End With
End Sub
HTH
jps
"migmag" a écrit dans le message de news:Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End SubBonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End Sub
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End SubBonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Merci jps
J'ai repris les lignes allanat de sub vidpp etc..
j'ai eu des messages d'erreur de syntaxe.
salutationsbonjour migmag
ci-dessous copie d'une réponse produite il y a fort longtemps par le
révérend père Brossollette, seul ecclésiastique à avoir, avec benoît
croix
bâton V, béni ce forume
la méthode classique (pour vider des cellules copiées)
application.cutcopymodeúlse
quel que soit le contenu (objets....)
Sub VidePP()
Dim rep As Boolean
With Application.CommandBars("clipboard")
rep = .Visible
If rep = False Then .Visible = True
If .FindControl(ID:634).Enabled = True Then
.FindControl(ID:634).Execute
..Visible = rep
End With
End Sub
HTH
jps
"migmag" a écrit dans le message de
news:Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle
(à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de
8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Merci jps
J'ai repris les lignes allanat de sub vidpp etc..
j'ai eu des messages d'erreur de syntaxe.
salutations
bonjour migmag
ci-dessous copie d'une réponse produite il y a fort longtemps par le
révérend père Brossollette, seul ecclésiastique à avoir, avec benoît
croix
bâton V, béni ce forume
la méthode classique (pour vider des cellules copiées)
application.cutcopymodeúlse
quel que soit le contenu (objets....)
Sub VidePP()
Dim rep As Boolean
With Application.CommandBars("clipboard")
rep = .Visible
If rep = False Then .Visible = True
If .FindControl(ID:634).Enabled = True Then
.FindControl(ID:634).Execute
..Visible = rep
End With
End Sub
HTH
jps
"migmag" <migmag@discussions.microsoft.com> a écrit dans le message de
news:
A5B13753-E6C9-43D3-9764-AAF048F920FF@microsoft.com...
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle
(à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de
8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Merci jps
J'ai repris les lignes allanat de sub vidpp etc..
j'ai eu des messages d'erreur de syntaxe.
salutationsbonjour migmag
ci-dessous copie d'une réponse produite il y a fort longtemps par le
révérend père Brossollette, seul ecclésiastique à avoir, avec benoît
croix
bâton V, béni ce forume
la méthode classique (pour vider des cellules copiées)
application.cutcopymodeúlse
quel que soit le contenu (objets....)
Sub VidePP()
Dim rep As Boolean
With Application.CommandBars("clipboard")
rep = .Visible
If rep = False Then .Visible = True
If .FindControl(ID:634).Enabled = True Then
.FindControl(ID:634).Execute
..Visible = rep
End With
End Sub
HTH
jps
"migmag" a écrit dans le message de
news:Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle
(à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de
8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Voilà le code utilisé :
Sub Ajouter_test()
ActiveCell.CurrentRegion.Select
Dim Tableau() As String
ReDim Tableau(1 To ActiveCell.CurrentRegion.Count)
'Sheet.Columns(colHeader(3) & ":" & colHeader(3)).Select
For ctr = 1 To ActiveCell.CurrentRegion.Count
Tableau(ctr) = ActiveCell.CurrentRegion(ctr)
Next
For ctr = 1 To ActiveCell.CurrentRegion.Count
Sheets("Modèle_test").Copy , Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Tableau(ctr)
[iv65536].Copy
Next
End Sub
cordialement
migmag.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End SubBonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Voilà le code utilisé :
Sub Ajouter_test()
ActiveCell.CurrentRegion.Select
Dim Tableau() As String
ReDim Tableau(1 To ActiveCell.CurrentRegion.Count)
'Sheet.Columns(colHeader(3) & ":" & colHeader(3)).Select
For ctr = 1 To ActiveCell.CurrentRegion.Count
Tableau(ctr) = ActiveCell.CurrentRegion(ctr)
Next
For ctr = 1 To ActiveCell.CurrentRegion.Count
Sheets("Modèle_test").Copy , Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Tableau(ctr)
[iv65536].Copy
Next
End Sub
cordialement
migmag
.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End Sub
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Voilà le code utilisé :
Sub Ajouter_test()
ActiveCell.CurrentRegion.Select
Dim Tableau() As String
ReDim Tableau(1 To ActiveCell.CurrentRegion.Count)
'Sheet.Columns(colHeader(3) & ":" & colHeader(3)).Select
For ctr = 1 To ActiveCell.CurrentRegion.Count
Tableau(ctr) = ActiveCell.CurrentRegion(ctr)
Next
For ctr = 1 To ActiveCell.CurrentRegion.Count
Sheets("Modèle_test").Copy , Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Tableau(ctr)
[iv65536].Copy
Next
End Sub
cordialement
migmag.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End SubBonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Ok ,sauf cette question
est-ce que tu utilises Excel 97 pour faire cela
Si oui regarde les numéro de feuilles obtenus dans l'explorateur de projet
-Voici comment traiter les feuilles d'un tel classeur
.....
Dim i as integer, ws as Worksheet
'...
On Error Resume Next
i = 0
For Each ws In ActiveWorkbook.Worksheets
i = i + 1
ws.Parent.VBProject.VBComponents(ws.CodeName) _
..Properties("_CodeName") = "Feuil" & i
On Error GoTo 0
Next ws
'...
-Voici peut-être comment intégrer à ta macro
'...
Sheets(Sheets.Count).Name = Tableau(ctr)
On Error Resume Next
With Sheets(Sheets.Count)
..Parent.VBProject.VBComponents(.CodeName) _
..Properties("_CodeName") = "Feuil" & Sheets.Count + 1
End With
On Error GoTo 0
'...
'Cdlt.
'lStephVoilà le code utilisé :
Sub Ajouter_test()
ActiveCell.CurrentRegion.Select
Dim Tableau() As String
ReDim Tableau(1 To ActiveCell.CurrentRegion.Count)
'Sheet.Columns(colHeader(3) & ":" & colHeader(3)).Select
For ctr = 1 To ActiveCell.CurrentRegion.Count
Tableau(ctr) = ActiveCell.CurrentRegion(ctr)
Next
For ctr = 1 To ActiveCell.CurrentRegion.Count
Sheets("Modèle_test").Copy , Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Tableau(ctr)
[iv65536].Copy
Next
End Sub
cordialement
migmag.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End SubBonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Ok ,sauf cette question
est-ce que tu utilises Excel 97 pour faire cela
Si oui regarde les numéro de feuilles obtenus dans l'explorateur de projet
-Voici comment traiter les feuilles d'un tel classeur
.....
Dim i as integer, ws as Worksheet
'...
On Error Resume Next
i = 0
For Each ws In ActiveWorkbook.Worksheets
i = i + 1
ws.Parent.VBProject.VBComponents(ws.CodeName) _
..Properties("_CodeName") = "Feuil" & i
On Error GoTo 0
Next ws
'...
-Voici peut-être comment intégrer à ta macro
'...
Sheets(Sheets.Count).Name = Tableau(ctr)
On Error Resume Next
With Sheets(Sheets.Count)
..Parent.VBProject.VBComponents(.CodeName) _
..Properties("_CodeName") = "Feuil" & Sheets.Count + 1
End With
On Error GoTo 0
'...
'Cdlt.
'lSteph
Voilà le code utilisé :
Sub Ajouter_test()
ActiveCell.CurrentRegion.Select
Dim Tableau() As String
ReDim Tableau(1 To ActiveCell.CurrentRegion.Count)
'Sheet.Columns(colHeader(3) & ":" & colHeader(3)).Select
For ctr = 1 To ActiveCell.CurrentRegion.Count
Tableau(ctr) = ActiveCell.CurrentRegion(ctr)
Next
For ctr = 1 To ActiveCell.CurrentRegion.Count
Sheets("Modèle_test").Copy , Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Tableau(ctr)
[iv65536].Copy
Next
End Sub
cordialement
migmag
.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End Sub
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
Ok ,sauf cette question
est-ce que tu utilises Excel 97 pour faire cela
Si oui regarde les numéro de feuilles obtenus dans l'explorateur de projet
-Voici comment traiter les feuilles d'un tel classeur
.....
Dim i as integer, ws as Worksheet
'...
On Error Resume Next
i = 0
For Each ws In ActiveWorkbook.Worksheets
i = i + 1
ws.Parent.VBProject.VBComponents(ws.CodeName) _
..Properties("_CodeName") = "Feuil" & i
On Error GoTo 0
Next ws
'...
-Voici peut-être comment intégrer à ta macro
'...
Sheets(Sheets.Count).Name = Tableau(ctr)
On Error Resume Next
With Sheets(Sheets.Count)
..Parent.VBProject.VBComponents(.CodeName) _
..Properties("_CodeName") = "Feuil" & Sheets.Count + 1
End With
On Error GoTo 0
'...
'Cdlt.
'lStephVoilà le code utilisé :
Sub Ajouter_test()
ActiveCell.CurrentRegion.Select
Dim Tableau() As String
ReDim Tableau(1 To ActiveCell.CurrentRegion.Count)
'Sheet.Columns(colHeader(3) & ":" & colHeader(3)).Select
For ctr = 1 To ActiveCell.CurrentRegion.Count
Tableau(ctr) = ActiveCell.CurrentRegion(ctr)
Next
For ctr = 1 To ActiveCell.CurrentRegion.Count
Sheets("Modèle_test").Copy , Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Tableau(ctr)
[iv65536].Copy
Next
End Sub
cordialement
migmag.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End SubBonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
pour les noms des feuilles à ajouter, ils sont pris à partir d'une liste.
Ce dont je parle n'a rien à voir avec ce que l'on indique sur l'onglet .Name
Pour excel, j'utilise 2003
pour les noms des feuilles à ajouter, ils sont pris à partir d'une liste.
cdlt
migmagOk ,sauf cette question
est-ce que tu utilises Excel 97 pour faire cela
Si oui regarde les numéro de feuilles obtenus dans l'explorateur de projet
-Voici comment traiter les feuilles d'un tel classeur
.....
Dim i as integer, ws as Worksheet
'...
On Error Resume Next
i = 0
For Each ws In ActiveWorkbook.Worksheets
i = i + 1
ws.Parent.VBProject.VBComponents(ws.CodeName) _
..Properties("_CodeName") = "Feuil" & i
On Error GoTo 0
Next ws
'...
-Voici peut-être comment intégrer à ta macro
'...
Sheets(Sheets.Count).Name = Tableau(ctr)
On Error Resume Next
With Sheets(Sheets.Count)
..Parent.VBProject.VBComponents(.CodeName) _
..Properties("_CodeName") = "Feuil" & Sheets.Count + 1
End With
On Error GoTo 0
'...
'Cdlt.
'lStephVoilà le code utilisé :
Sub Ajouter_test()
ActiveCell.CurrentRegion.Select
Dim Tableau() As String
ReDim Tableau(1 To ActiveCell.CurrentRegion.Count)
'Sheet.Columns(colHeader(3) & ":" & colHeader(3)).Select
For ctr = 1 To ActiveCell.CurrentRegion.Count
Tableau(ctr) = ActiveCell.CurrentRegion(ctr)
Next
For ctr = 1 To ActiveCell.CurrentRegion.Count
Sheets("Modèle_test").Copy , Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Tableau(ctr)
[iv65536].Copy
Next
End Sub
cordialement
migmag.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End SubBonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
pour les noms des feuilles à ajouter, ils sont pris à partir d'une liste.
Ce dont je parle n'a rien à voir avec ce que l'on indique sur l'onglet .Name
Pour excel, j'utilise 2003
pour les noms des feuilles à ajouter, ils sont pris à partir d'une liste.
cdlt
migmag
Ok ,sauf cette question
est-ce que tu utilises Excel 97 pour faire cela
Si oui regarde les numéro de feuilles obtenus dans l'explorateur de projet
-Voici comment traiter les feuilles d'un tel classeur
.....
Dim i as integer, ws as Worksheet
'...
On Error Resume Next
i = 0
For Each ws In ActiveWorkbook.Worksheets
i = i + 1
ws.Parent.VBProject.VBComponents(ws.CodeName) _
..Properties("_CodeName") = "Feuil" & i
On Error GoTo 0
Next ws
'...
-Voici peut-être comment intégrer à ta macro
'...
Sheets(Sheets.Count).Name = Tableau(ctr)
On Error Resume Next
With Sheets(Sheets.Count)
..Parent.VBProject.VBComponents(.CodeName) _
..Properties("_CodeName") = "Feuil" & Sheets.Count + 1
End With
On Error GoTo 0
'...
'Cdlt.
'lSteph
Voilà le code utilisé :
Sub Ajouter_test()
ActiveCell.CurrentRegion.Select
Dim Tableau() As String
ReDim Tableau(1 To ActiveCell.CurrentRegion.Count)
'Sheet.Columns(colHeader(3) & ":" & colHeader(3)).Select
For ctr = 1 To ActiveCell.CurrentRegion.Count
Tableau(ctr) = ActiveCell.CurrentRegion(ctr)
Next
For ctr = 1 To ActiveCell.CurrentRegion.Count
Sheets("Modèle_test").Copy , Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Tableau(ctr)
[iv65536].Copy
Next
End Sub
cordialement
migmag
.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End Sub
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
pour les noms des feuilles à ajouter, ils sont pris à partir d'une liste.
Ce dont je parle n'a rien à voir avec ce que l'on indique sur l'onglet .Name
Pour excel, j'utilise 2003
pour les noms des feuilles à ajouter, ils sont pris à partir d'une liste.
cdlt
migmagOk ,sauf cette question
est-ce que tu utilises Excel 97 pour faire cela
Si oui regarde les numéro de feuilles obtenus dans l'explorateur de projet
-Voici comment traiter les feuilles d'un tel classeur
.....
Dim i as integer, ws as Worksheet
'...
On Error Resume Next
i = 0
For Each ws In ActiveWorkbook.Worksheets
i = i + 1
ws.Parent.VBProject.VBComponents(ws.CodeName) _
..Properties("_CodeName") = "Feuil" & i
On Error GoTo 0
Next ws
'...
-Voici peut-être comment intégrer à ta macro
'...
Sheets(Sheets.Count).Name = Tableau(ctr)
On Error Resume Next
With Sheets(Sheets.Count)
..Parent.VBProject.VBComponents(.CodeName) _
..Properties("_CodeName") = "Feuil" & Sheets.Count + 1
End With
On Error GoTo 0
'...
'Cdlt.
'lStephVoilà le code utilisé :
Sub Ajouter_test()
ActiveCell.CurrentRegion.Select
Dim Tableau() As String
ReDim Tableau(1 To ActiveCell.CurrentRegion.Count)
'Sheet.Columns(colHeader(3) & ":" & colHeader(3)).Select
For ctr = 1 To ActiveCell.CurrentRegion.Count
Tableau(ctr) = ActiveCell.CurrentRegion(ctr)
Next
For ctr = 1 To ActiveCell.CurrentRegion.Count
Sheets("Modèle_test").Copy , Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Tableau(ctr)
[iv65536].Copy
Next
End Sub
cordialement
migmag.... pour être plus précis en copiant iv65536 ton presse papier contient
quand même une cellule vide mais rien d'autre.*
Il faudrait que tu en donnes un peu plus sur ton code et ta version
plusieurs hypothèses:
-Si tu stockes des variables objet qui ne sont pas libérées.
-Si tu utilises Excel97 il y a le bug bien connu de numérotation des
feuilles par vba lorsqu'on fait du activesheet.copy
-...etc...
Cordialement.
lSteph
*exemple en mettant des x en [a1:g10]:
Sub test()
[a1:g10].Copy
ActiveSheet.Paste Destination:=[h1]
'on vient de coller les petits x
[a1:g10].Copy
[iv65536].Copy
ActiveSheet.Paste Destination:=[i2]
'on vient de faire un trou en i2
End SubBonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle (à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de 8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
alors, migmag, c'est que les voies du Seigneur sont impénétrables....désolé
jps
"migmag" a écrit dans le message de news:Merci jps
J'ai repris les lignes allanat de sub vidpp etc..
j'ai eu des messages d'erreur de syntaxe.
salutationsbonjour migmag
ci-dessous copie d'une réponse produite il y a fort longtemps par le
révérend père Brossollette, seul ecclésiastique à avoir, avec benoît
croix
bâton V, béni ce forume
la méthode classique (pour vider des cellules copiées)
application.cutcopymodeúlse
quel que soit le contenu (objets....)
Sub VidePP()
Dim rep As Boolean
With Application.CommandBars("clipboard")
rep = .Visible
If rep = False Then .Visible = True
If .FindControl(ID:634).Enabled = True Then
.FindControl(ID:634).Execute
..Visible = rep
End With
End Sub
HTH
jps
"migmag" a écrit dans le message de
news:Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle
(à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de
8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
alors, migmag, c'est que les voies du Seigneur sont impénétrables....désolé
jps
"migmag" <migmag@discussions.microsoft.com> a écrit dans le message de news:
C52F060C-7974-4371-9639-651878CAC069@microsoft.com...
Merci jps
J'ai repris les lignes allanat de sub vidpp etc..
j'ai eu des messages d'erreur de syntaxe.
salutations
bonjour migmag
ci-dessous copie d'une réponse produite il y a fort longtemps par le
révérend père Brossollette, seul ecclésiastique à avoir, avec benoît
croix
bâton V, béni ce forume
la méthode classique (pour vider des cellules copiées)
application.cutcopymodeúlse
quel que soit le contenu (objets....)
Sub VidePP()
Dim rep As Boolean
With Application.CommandBars("clipboard")
rep = .Visible
If rep = False Then .Visible = True
If .FindControl(ID:634).Enabled = True Then
.FindControl(ID:634).Execute
..Visible = rep
End With
End Sub
HTH
jps
"migmag" <migmag@discussions.microsoft.com> a écrit dans le message de
news:
A5B13753-E6C9-43D3-9764-AAF048F920FF@microsoft.com...
Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle
(à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de
8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance
alors, migmag, c'est que les voies du Seigneur sont impénétrables....désolé
jps
"migmag" a écrit dans le message de news:Merci jps
J'ai repris les lignes allanat de sub vidpp etc..
j'ai eu des messages d'erreur de syntaxe.
salutationsbonjour migmag
ci-dessous copie d'une réponse produite il y a fort longtemps par le
révérend père Brossollette, seul ecclésiastique à avoir, avec benoît
croix
bâton V, béni ce forume
la méthode classique (pour vider des cellules copiées)
application.cutcopymodeúlse
quel que soit le contenu (objets....)
Sub VidePP()
Dim rep As Boolean
With Application.CommandBars("clipboard")
rep = .Visible
If rep = False Then .Visible = True
If .FindControl(ID:634).Enabled = True Then
.FindControl(ID:634).Execute
..Visible = rep
End With
End Sub
HTH
jps
"migmag" a écrit dans le message de
news:Bonjour à tous,
j'ai plus de 200 onglets par classeur à ajouter à partir d'un modèle
(à
partir de liste différente pour chaque classeur).
Mon problème est que pour l'ajout, il me faut un temps fou car je suis
obligé de fermer excel et le réouvir après la création de chaque lot de
8
onglets.
J'ai su que c'est un problème de presse papier et j'ai utilisé des
instructions du type :
[iv65536].Copy
Application.CommandBars("Clipboard").Controls(4).Execute
Mais en vain.
je n'ai pas trouvé l'instruction efficace qui permet de l'effacer
merci d'avance