J'ignorais que l'on pouvait copier une série de feuille sous forme de tableau en une fois Merci -- Salutations JJ
"MichD" a écrit dans le message de news: k31okm$drm$
Private Sub CommandButton1_Click() Dim A As Integer, T(), B As Integer Dim Chemin As String
Chemin = "D:Anglais" 'Le chemin du répertoire où 'tu veux enregistrer ton fichier. 'Avec le listbox With Me.ListBox1 If .ListIndex = 0 And .Selected(0) = False Then Exit Sub Application.ScreenUpdating = False 'Pour chaque item du listbox For A = 0 To .ListCount - 1 'si l'item est sélectionné If .Selected(A) = True Then 'Extrait le nom de la feuille ReDim Preserve T(B) T(B) = .List(A) B = B + 1 End If Next ThisWorkbook.Sheets(T).Copy Application.Dialogs(xlDialogSaveAs).Show Chemin & ActiveWorkbook.Name If ActiveWorkbook.Saved Then ActiveWorkbook.Close False End If
End With ThisWorkbook.Activate Application.ScreenUpdating = True End Sub
Bonjour Denis,
Joli, ceci
ThisWorkbook.Sheets(T).Copy
J'ignorais que l'on pouvait copier une série de feuille sous forme de tableau en une fois
Merci
--
Salutations
JJ
"MichD" <michdenis@hotmail.com> a écrit dans le message de news: k31okm$drm$1@speranza.aioe.org...
Private Sub CommandButton1_Click()
Dim A As Integer, T(), B As Integer
Dim Chemin As String
Chemin = "D:Anglais" 'Le chemin du répertoire où
'tu veux enregistrer ton fichier.
'Avec le listbox
With Me.ListBox1
If .ListIndex = 0 And .Selected(0) = False Then Exit Sub
Application.ScreenUpdating = False
'Pour chaque item du listbox
For A = 0 To .ListCount - 1
'si l'item est sélectionné
If .Selected(A) = True Then
'Extrait le nom de la feuille
ReDim Preserve T(B)
T(B) = .List(A)
B = B + 1
End If
Next
ThisWorkbook.Sheets(T).Copy
Application.Dialogs(xlDialogSaveAs).Show Chemin & ActiveWorkbook.Name
If ActiveWorkbook.Saved Then
ActiveWorkbook.Close False
End If
End With
ThisWorkbook.Activate
Application.ScreenUpdating = True
End Sub
J'ignorais que l'on pouvait copier une série de feuille sous forme de tableau en une fois Merci -- Salutations JJ
"MichD" a écrit dans le message de news: k31okm$drm$
Private Sub CommandButton1_Click() Dim A As Integer, T(), B As Integer Dim Chemin As String
Chemin = "D:Anglais" 'Le chemin du répertoire où 'tu veux enregistrer ton fichier. 'Avec le listbox With Me.ListBox1 If .ListIndex = 0 And .Selected(0) = False Then Exit Sub Application.ScreenUpdating = False 'Pour chaque item du listbox For A = 0 To .ListCount - 1 'si l'item est sélectionné If .Selected(A) = True Then 'Extrait le nom de la feuille ReDim Preserve T(B) T(B) = .List(A) B = B + 1 End If Next ThisWorkbook.Sheets(T).Copy Application.Dialogs(xlDialogSaveAs).Show Chemin & ActiveWorkbook.Name If ActiveWorkbook.Saved Then ActiveWorkbook.Close False End If
End With ThisWorkbook.Activate Application.ScreenUpdating = True End Sub
MichD
Ceci c'est la même chose que cela :
ThisWorkbook.Sheets(T).Copy
OU
ThisWorkbook.Sheets(Array("Feuil1","Feuil3")).Copy Tu connais probablement plus cette approche!
Ceci c'est la même chose que cela :
ThisWorkbook.Sheets(T).Copy
OU
ThisWorkbook.Sheets(Array("Feuil1","Feuil3")).Copy
Tu connais probablement plus cette approche!
Oui tout à fait, mais est-ce adaptable à une sélection ? (comme dans l'exemple qui nous préoccupe)
-- Salutations JJ
"MichD" a écrit dans le message de news: k31r4p$jkp$
Ceci c'est la même chose que cela :
ThisWorkbook.Sheets(T).Copy
OU
ThisWorkbook.Sheets(Array("Feuil1","Feuil3")).Copy Tu connais probablement plus cette approche!
MichD
| est-ce adaptable à une sélection ?
Je ne comprends pas vraiment la question... mais ceci est acceptable...une autre approche!
Dans la boucle, si l'item de la listbox est sélectionné on peut utiliser ceci : cela suppose que le classeur actif est celui qui contient les feuilles à copier...
'--------------------------------------------------------- Private Sub CommandButton1_Click() Dim A As Integer Dim Chemin As String
Chemin = "D:Anglais" 'Le chemin du répertoire où 'tu veux enregistrer ton fichier. 'Avec le listbox With Me.ListBox1 If .ListIndex = 0 And .Selected(0) = False Then Exit Sub Application.ScreenUpdating = False 'Pour chaque item du listbox For A = 0 To .ListCount - 1 'si l'item est sélectionné If .Selected(A) = True Then 'Extrait le nom de la feuille Sheets(.List(A)).Select False '<<<<============ End If Next ActiveWindow.SelectedSheets.Copy '<<<<============ Application.Dialogs(xlDialogSaveAs).Show Chemin & ActiveWorkbook.Name If ActiveWorkbook.Saved Then ActiveWorkbook.Close False End If End With ThisWorkbook.Activate Application.ScreenUpdating = True End Sub '---------------------------------------------------------
Est-ce que tu voulais dire?
| est-ce adaptable à une sélection ?
Je ne comprends pas vraiment la question...
mais ceci est acceptable...une autre approche!
Dans la boucle, si l'item de la listbox est sélectionné on peut
utiliser ceci : cela suppose que le classeur actif est celui qui
contient les feuilles à copier...
'---------------------------------------------------------
Private Sub CommandButton1_Click()
Dim A As Integer
Dim Chemin As String
Chemin = "D:Anglais" 'Le chemin du répertoire où
'tu veux enregistrer ton fichier.
'Avec le listbox
With Me.ListBox1
If .ListIndex = 0 And .Selected(0) = False Then Exit Sub
Application.ScreenUpdating = False
'Pour chaque item du listbox
For A = 0 To .ListCount - 1
'si l'item est sélectionné
If .Selected(A) = True Then
'Extrait le nom de la feuille
Sheets(.List(A)).Select False '<<<<============ End If
Next
ActiveWindow.SelectedSheets.Copy '<<<<============ Application.Dialogs(xlDialogSaveAs).Show Chemin & ActiveWorkbook.Name
If ActiveWorkbook.Saved Then
ActiveWorkbook.Close False
End If
End With
ThisWorkbook.Activate
Application.ScreenUpdating = True
End Sub
'---------------------------------------------------------
Je ne comprends pas vraiment la question... mais ceci est acceptable...une autre approche!
Dans la boucle, si l'item de la listbox est sélectionné on peut utiliser ceci : cela suppose que le classeur actif est celui qui contient les feuilles à copier...
'--------------------------------------------------------- Private Sub CommandButton1_Click() Dim A As Integer Dim Chemin As String
Chemin = "D:Anglais" 'Le chemin du répertoire où 'tu veux enregistrer ton fichier. 'Avec le listbox With Me.ListBox1 If .ListIndex = 0 And .Selected(0) = False Then Exit Sub Application.ScreenUpdating = False 'Pour chaque item du listbox For A = 0 To .ListCount - 1 'si l'item est sélectionné If .Selected(A) = True Then 'Extrait le nom de la feuille Sheets(.List(A)).Select False '<<<<============ End If Next ActiveWindow.SelectedSheets.Copy '<<<<============ Application.Dialogs(xlDialogSaveAs).Show Chemin & ActiveWorkbook.Name If ActiveWorkbook.Saved Then ActiveWorkbook.Close False End If End With ThisWorkbook.Activate Application.ScreenUpdating = True End Sub '---------------------------------------------------------
Est-ce que tu voulais dire?
magic-dd
Re
excellent
je l'ai adapté pour en faire un xla
le seule truc que j'ai changé car sinon erreur 9 est le thisworkbook(B) e n activeworkbook
sinon nickel merci !!!!!
Re
excellent
je l'ai adapté pour en faire un xla
le seule truc que j'ai changé car sinon erreur 9 est le thisworkbook(B) e n activeworkbook
le seule truc que j'ai changé car sinon erreur 9 est le thisworkbook(B) e n activeworkbook
sinon nickel merci !!!!!
Jacky
Re..
Je ne comprends pas vraiment la question...
Laisse tomber. C'est mon neurone tordu qui cherche des complications, il voulait se retrouver avec des Array(t(1),t(3).....).Copy(impensable!) La copie par un tableau est nouveau pour moi, mais il convient parfaitement Merci -- Salutations JJ
"MichD" a écrit dans le message de news: k32266$4tl$
| est-ce adaptable à une sélection ?
Je ne comprends pas vraiment la question... mais ceci est acceptable...une autre approche!
Dans la boucle, si l'item de la listbox est sélectionné on peut utiliser ceci : cela suppose que le classeur actif est celui qui contient les feuilles à copier...
'--------------------------------------------------------- Private Sub CommandButton1_Click() Dim A As Integer Dim Chemin As String
Chemin = "D:Anglais" 'Le chemin du répertoire où 'tu veux enregistrer ton fichier. 'Avec le listbox With Me.ListBox1 If .ListIndex = 0 And .Selected(0) = False Then Exit Sub Application.ScreenUpdating = False 'Pour chaque item du listbox For A = 0 To .ListCount - 1 'si l'item est sélectionné If .Selected(A) = True Then 'Extrait le nom de la feuille Sheets(.List(A)).Select False '<<<<============ > End If Next ActiveWindow.SelectedSheets.Copy '<<<<============ > Application.Dialogs(xlDialogSaveAs).Show Chemin & ActiveWorkbook.Name If ActiveWorkbook.Saved Then ActiveWorkbook.Close False End If End With ThisWorkbook.Activate Application.ScreenUpdating = True End Sub '---------------------------------------------------------
Est-ce que tu voulais dire?
Re..
Je ne comprends pas vraiment la question...
Laisse tomber.
C'est mon neurone tordu qui cherche des complications, il voulait se retrouver avec des
Array(t(1),t(3).....).Copy(impensable!)
La copie par un tableau est nouveau pour moi, mais il convient parfaitement
Merci
--
Salutations
JJ
"MichD" <michdenis@hotmail.com> a écrit dans le message de news: k32266$4tl$1@speranza.aioe.org...
| est-ce adaptable à une sélection ?
Je ne comprends pas vraiment la question...
mais ceci est acceptable...une autre approche!
Dans la boucle, si l'item de la listbox est sélectionné on peut
utiliser ceci : cela suppose que le classeur actif est celui qui
contient les feuilles à copier...
'---------------------------------------------------------
Private Sub CommandButton1_Click()
Dim A As Integer
Dim Chemin As String
Chemin = "D:Anglais" 'Le chemin du répertoire où
'tu veux enregistrer ton fichier.
'Avec le listbox
With Me.ListBox1
If .ListIndex = 0 And .Selected(0) = False Then Exit Sub
Application.ScreenUpdating = False
'Pour chaque item du listbox
For A = 0 To .ListCount - 1
'si l'item est sélectionné
If .Selected(A) = True Then
'Extrait le nom de la feuille
Sheets(.List(A)).Select False '<<<<============ > End If
Next
ActiveWindow.SelectedSheets.Copy '<<<<============ > Application.Dialogs(xlDialogSaveAs).Show Chemin & ActiveWorkbook.Name
If ActiveWorkbook.Saved Then
ActiveWorkbook.Close False
End If
End With
ThisWorkbook.Activate
Application.ScreenUpdating = True
End Sub
'---------------------------------------------------------
Laisse tomber. C'est mon neurone tordu qui cherche des complications, il voulait se retrouver avec des Array(t(1),t(3).....).Copy(impensable!) La copie par un tableau est nouveau pour moi, mais il convient parfaitement Merci -- Salutations JJ
"MichD" a écrit dans le message de news: k32266$4tl$
| est-ce adaptable à une sélection ?
Je ne comprends pas vraiment la question... mais ceci est acceptable...une autre approche!
Dans la boucle, si l'item de la listbox est sélectionné on peut utiliser ceci : cela suppose que le classeur actif est celui qui contient les feuilles à copier...
'--------------------------------------------------------- Private Sub CommandButton1_Click() Dim A As Integer Dim Chemin As String
Chemin = "D:Anglais" 'Le chemin du répertoire où 'tu veux enregistrer ton fichier. 'Avec le listbox With Me.ListBox1 If .ListIndex = 0 And .Selected(0) = False Then Exit Sub Application.ScreenUpdating = False 'Pour chaque item du listbox For A = 0 To .ListCount - 1 'si l'item est sélectionné If .Selected(A) = True Then 'Extrait le nom de la feuille Sheets(.List(A)).Select False '<<<<============ > End If Next ActiveWindow.SelectedSheets.Copy '<<<<============ > Application.Dialogs(xlDialogSaveAs).Show Chemin & ActiveWorkbook.Name If ActiveWorkbook.Saved Then ActiveWorkbook.Close False End If End With ThisWorkbook.Activate Application.ScreenUpdating = True End Sub '---------------------------------------------------------
Est-ce que tu voulais dire?
MichD
Tu peux faire ceci si tu veux :
'---------------------------------- Sub Test() Dim T(0 To 1)
T(0) = "Feuil1" T(1) = "Feuil3"
Sheets(Array(T(0), T(1))).Copy
End Sub '----------------------------------
Tu peux faire ceci si tu veux :
'----------------------------------
Sub Test()
Dim T(0 To 1)