Salut le forum

Je suis débutant en vba et je reprends un code existant sur excel 2000.

J'ai un pb avec le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
        (.....)
 
                Columns(4).EntireColumn.AutoFit
 
        tabModal = Application.Run([VALEURS.UNIQUES], Range(Workbooks(NomClasseur).Sheets("Données").Cells(2, colVar), Workbooks(NomClasseur).Sheets("Données").Cells(nbLig, colVar)), 1)
 
        j = 3
        k = 1
        Do While tabModal(k, 1) <> ""
            Cells(j + k, 1) = tabModal(k, 1)
            Cells(j + k, 2) = Application.WorksheetFunction.CountIf(Range(Workbooks(NomClasseur).Sheets("Données").Cells(2, colVar), Workbooks(NomClasseur).Sheets("Données").Cells(nbLig, colVar)), "=" & tabModal(k, 1))
            Cells(j + k, 3) = 100 * Cells(j + k, 2) / (nbLig - 1)
            If k = 1 Then
                Cells(j + k, 4) = Cells(j + k, 3)
            Else
                Cells(j + k, 4) = Cells(j + k - 1, 4) + Cells(j + k, 3)
            End If
            k = k + 1
        Loop= Application.Run([VALEURS.UNIQUES], Range(Workbooks(NomClasseur).Sheets("Données").Cells(2, colVar), Workbooks(NomClasseur).Sheets("Données").Cells(nbLig, colVar)), 1)
 
        j = 3
        k = 1
        Do While tabModal(k, 1) <> ""
            Cells(j + k, 1) = tabModal(k, 1)
            Cells(j + k, 2) = Application.WorksheetFunction.CountIf(Range(Workbooks(NomClasseur).Sheets("Données").Cells(2, colVar), Workbooks(NomClasseur).Sheets("Données").Cells(nbLig, colVar)), "=" & tabModal(k, 1))
            Cells(j + k, 3) = 100 * Cells(j + k, 2) / (nbLig - 1)
            If k = 1 Then
                Cells(j + k, 4) = Cells(j + k, 3)
            Else
                Cells(j + k, 4) = Cells(j + k - 1, 4) + Cells(j + k, 3)
            End If
            k = k + 1
        Loop
Le but de ce code est de récuperer toutes les valeurs différentes de la variable située en Workbooks(NomClasseur).Sheets("Données").Cells(1, colVar) et de calculer les fréquences de chaque modalité

Le pb c'est que j'ai rajoutté une usf a l'appli (la variable contenu dans clic est desormais récupérer a partir de la usf et non plus de Workbooks(NomClasseur).Sheets("Données") ) afin qu'elle soit plus belle et maintenant ce morceau de code ne fonctionne plus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
tabModal = Application.Run([VALEURS.UNIQUES], Range(Workbooks(NomClasseur).Sheets("Données").Cells(2, colVar), Workbooks(NomClasseur).Sheets("Données").Cells(nbLig, colVar)), 1)
Normalement il permet de stocker toutes les modalités différentes de notre varibale. Mais il ne stock plus rien (tabmodal(1,1) l'indice n'appartient pas a la selection !) Pour info tabmodal est defini en variant...

J'ai bien essayer de cacher ma usf et de mettre des
windows(mafeuille).activate ou workbooks(mafeuille).activate pour cacher ma usf et réactivé mes classeurs comme si de rien mais ça ne marche pas...

J'espere avoir été claire sinon n'hesitez pas a me demander des explications.

Merci d'avance