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

onglets multiple

4 réponses
Avatar
stef b
Bonjour
je dispose d un fichier excel 2003

je suis sur une feuille nommée X_PATRICK

je voudrais si possible que lorsque je click sur un bouton qu'il m ouvre un
useform a selection multiple avec en liste tous les noms de onglets qui
commence par "X_" sauf celle ou je suis et que lorsque je selectionne dans
cette liste par exemple X_PAUL et X_JULIEN.
Dans ce cas il me copie de X_PATRICK uniquement les cellules
range("J4:K12") sur X_PAUL et X_JULIEN .

merci d'avance.

4 réponses

Avatar
MichD
Bonjour,

Pour moi, ta question n'est pas claire. Désolé si ma réponse n'est pas éclairante.

A ) Procédure pour ouvrir le formulaire :

Tu adaptes le nom du formulaire au besoin.
'---------------------
Sub test()
Userform1.Show
End Sub
'---------------------

Lorsque le formulaire s'ouvre, si tu as un combobox dans ton formulaire
et que tu veux afficher dans ce combobox toutes les feuilles commençant
par "X_" moins la feuille où tu es lors de l'appel,

Dans ton formulaire, tu utilises ce type de macro :

'----------------------------------------------
Private Sub UserForm_Initialize()
Dim Sh As Object
For Each Sh In ThisWorkbook.Sheets
If Left(Sh.Name, 2) = "X_" Then
If Sh.Name <> ActiveSheet.Name Then
Me.ComboBox1.AddItem Sh.Name
End If
End If
Next
End Sub
'----------------------------------------------
Avatar
stef b
merci la premiere partie marche je peux selectionné les feuilles commencant
par "X_"
et il n apparait pas la feuille en cours .
j ai rajouté sur le userform la selection multiple

ensuite viens la difficulté

sur les feuilles selectionnées dans la listbox et non combox je voudrais que
du ActiveSheet.Name il me copie
sur ces feuilles selectionnées la plage de cellule J4:K12

voila

merci d avance.


"MichD" a écrit dans le message de news:
jpk4dn$rfc$
Bonjour,

Pour moi, ta question n'est pas claire. Désolé si ma réponse n'est pas
éclairante.

A ) Procédure pour ouvrir le formulaire :

Tu adaptes le nom du formulaire au besoin.
'---------------------
Sub test()
Userform1.Show
End Sub
'---------------------

Lorsque le formulaire s'ouvre, si tu as un combobox dans ton formulaire
et que tu veux afficher dans ce combobox toutes les feuilles commençant
par "X_" moins la feuille où tu es lors de l'appel,

Dans ton formulaire, tu utilises ce type de macro :

'----------------------------------------------
Private Sub UserForm_Initialize()
Dim Sh As Object
For Each Sh In ThisWorkbook.Sheets
If Left(Sh.Name, 2) = "X_" Then
If Sh.Name <> ActiveSheet.Name Then
Me.ComboBox1.AddItem Sh.Name
End If
End If
Next
End Sub
'----------------------------------------------



Avatar
MichD
Si le code est dans le formulaire, tu choisis l'événement qui convient
avec cette procédure. (adapte le nom des objets au besoin)

'----------------------------------
Dim Sh As Worksheet, A As Integer

Set Sh = ActiveSheet

With Me.ListBox1
For A = 0 To .ListCount - 1
If .Selected(A) = True Then
Sh.Range("J4:K12").Copy _
Worksheets(.List(A)).Range("A1")
End If
Next
End With
'----------------------------------
Avatar
stef b
MERCI CA MARCHE SUPER BIEN

bravo!!!!



"MichD" a écrit dans le message de news:
jpl4il$5o5$

Si le code est dans le formulaire, tu choisis l'événement qui convient
avec cette procédure. (adapte le nom des objets au besoin)

'----------------------------------
Dim Sh As Worksheet, A As Integer

Set Sh = ActiveSheet

With Me.ListBox1
For A = 0 To .ListCount - 1
If .Selected(A) = True Then
Sh.Range("J4:K12").Copy _
Worksheets(.List(A)).Range("A1")
End If
Next
End With
'----------------------------------