Bonjour à tous,
J'ai besoin de créer une interface utilisateur (cf pj).
Sur l'onglet "step 1", l'utilisateur clique sur les devises qui le concerne.
La macro associée permet de créer des tableaux de saisie pour chaque devise selectionnée, sur l'onglet "step 2".
Il y a un hic avec la macro: si je clique sur EUR et USD, puis dé-clique EUR, et enfin re-selectionne EUR, les tableaux en "step 2"ne sont pas corrects car je ne vois pas les 2 tableaux attendus (cad EUR et USD) mais il semble qu'ils se sont superposés.
Est-ce que qlq'un peut m'aider à corriger la macro?
Merci,
Bonjour,
Merci pour les infos. Oui, module 2 et 3 pourrait être supprimés.
Pour mon pb, j'ai modifié la macro1 comme suggéré (cf ci-dessous). Mais, je dois aussi modifier chaque Private Sub CheckBox_Click() aussi, non? Si oui, comment?
Public D As Range 'déclare la variable D (Devise)
Sub Macro1()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Set OS = Worksheets("Model") 'définit l'onglet source OS (masqué)
Set OD = Worksheets("Step 2 - DSO&DPO S&P ") 'définit l'onglet destination OD
'définit la cellule de destination DEST (A1 si A3 est vide, sinon la troisième cellule vide de la colonne A de l'onglet OD)
Set DEST = IIf(OD.Range("A3").Value = "", OD.Range("A1"), OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(3, 0))
Set D = Range(Me.CheckBox11.LinkedCell).Offset(0, 1)
OS.Range("A1:AF19").Copy DEST 'copie le tableau de l'onglet OS (le modèle) et le colle dans DEST
DEST.Resize(19, 1).Replace "EUR", D.Value 'remplace "EUR" par la devise D
Application.ScreenUpdating = False 'affiche les rafraîchissements d'écran
End Sub