copier collet des données avec userform critere de choix

arvin

XLDnaute Occasionnel
bonjour à tous !

je souhaiterai copier des données d'une feuille à une autre feuille , dans un même classeur, en fonction du choix de l'utilisateur : ai crée un user form avec un choix à cocher
exemple : si il coche "1", la macro va copier les données D11 à D46 de la feuille "trame" sur la feuille "essai"
ou si "2".........................................E11 à E46.......................................................
ou si 3 ...........................................F11 à F46 ...................................................
choix = 31
(1 seul choix sur les 31 possibles)


mais je me dis que c'est super long ! un choix possible seulement, n'y a t il pas moyen d'aller plus vite ?

merci à vous tous

et bon week end
 

Pièces jointes

  • essai.xls
    25 KB · Affichages: 45
  • essai.xls
    25 KB · Affichages: 48
  • essai.xls
    25 KB · Affichages: 50

Dull

XLDnaute Barbatruc
Re : copier collet des données avec userform critere de choix

Salut arvin, le Forum

Pas sur d'avoir compris mais teste ce code à mettre dans le module de l'UserForm
Option Explicit
Dim i As Byte, j As Byte

Private Sub CommandButton1_Click()
For i = 1 To 4
For j = 11 To 46
If Controls("CheckBox" & i) = True Then Sheets("trame").Cells(j, i + 3).Copy Destination:=Sheets("essai").Cells(j, i + 3)
Next j
Next i
Unload Me
End Sub

a tester

Bonne Journée
 

arvin

XLDnaute Occasionnel
Re : copier collet des données avec userform critere de choix

bonjour Dull !

merci de ta réponse : c'est exactement cela , ai testé au niveau 10 cela fonctionne
mais par contre, pour qu'il y ait 31 choix...as tu vu mon userform, pas terrible
je me suis arrêté à 10 car c'est trop moche
as tu un moyen pour améliorer tout ça ?
ai trouvé un calendrier sur le forum : croix tu qu'on pourrait s'en servir -> ai essayé mais cela ne fonctionne pas

merci
 

Pièces jointes

  • essai.xls
    54 KB · Affichages: 45
  • essai.xls
    54 KB · Affichages: 46
  • essai.xls
    54 KB · Affichages: 49
Dernière édition:

arvin

XLDnaute Occasionnel
Re : copier collet des données avec userform critere de choix

coucou Dull ! en fait grâce à toi , ma macro fonctionne (sans le calendar) mais bon c'est pas top mais ça marche !
si tu as le temps de l'améliorer cela serait super
merci encore
à bientôt
 

Pièces jointes

  • essai.xls
    46.5 KB · Affichages: 63
  • essai.xls
    46.5 KB · Affichages: 67
  • essai.xls
    46.5 KB · Affichages: 64

arvin

XLDnaute Occasionnel
Re : copier collet des données avec userform critere de choix

Bonjour DULL : ai voulu modifier la macro pour coller les valeurs dans la feuille active à l'endroit P12:p46
mais cela ne marche pas , pourquoi ?
Private Sub CommandButton2_Click()
Dim i As Byte, j As Byte
For i = 1 To 31
For j = 11 To 46
If Controls("CheckBox" & i) = True Then Sheets("trame").Cells(j, i + 3).Copy Destination:=ActiveSheet.Range("P12:p46")
Next j
Next i
Unload Me


UserForm4.Hide
End Sub
 

Dull

XLDnaute Barbatruc
Re : copier collet des données avec userform critere de choix

Salut arvin, le Forum

Il m'est très difficile de visualiser où tu veux en venir car les explications et le fichier fournis sont abstraits
Peux tu renvoyer un fichier représentatif de ton fichier d'origine avec ce que tu as et ce que tu veux.

Bonne Journée
 

arvin

XLDnaute Occasionnel
Re : copier collet des données avec userform critere de choix

bonjour Dull et merci de ta réponse : en fait, oubli l'option calendar trop compliqué
ai réussi par contre à reporter pour le chekbox1 les données D11 à D46 de la feuille trame à la feuille active en P12 à P47
donc pour checkbox 2 ....................................................E11 à E46..............................................................................
et idem 31e fois : peut on aller plus vite ?
merci

If CheckBox1.Value = True Then
Worksheets("trame").Range("D11:d46").Copy
ActiveSheet.Range("P12:p47").PasteSpecial Paste:=xlValues
End If
UserForm4.Hide
CheckBox1.Value = False
 

Dull

XLDnaute Barbatruc
Re : copier collet des données avec userform critere de choix

Re arvin, le fil

Alors si j'ai bien compris quel que soit le Checkbox choisit, la colonne correspondante doit être copié en P12:p47 de la feuille active Ce qui voudrait dire qu'une seul CheckBox doit être coché avant fermeture de l'USF? si c'est cela utilise plutôt des OptionButtons en lieux et places de Checkboxes
sinon pour la boucle essaye cela:

Private Sub CommandButton2_Click()
Dim i As Byte, j As Byte
For i = 1 To 31
For j = 11 To 46
If Controls("CheckBox" & i) = True Then ActiveSheet.Range("P" & j + 1 & ":p" & j + 1) = Sheets("trame").Cells(j, i + 3)
Next j
Next i
Unload Me
End Sub

Bonne Journée
 

Discussions similaires

Statistiques des forums

Discussions
311 716
Messages
2 081 848
Membres
101 826
dernier inscrit
dododu89