Mon Excel a Alzheimer

Shinichi

XLDnaute Junior
Bonjour,

Toujours dans ma construction de ma DB, j'ai souhaité réalisé un userform pour créer mes entrées.

J'ai donc un userform avec un bouton "export"

VB:
Sub Export_Click()

gfvd = sn_fcv ==>utlisé pour tester la valeur en pas à pas
creer_page

End Sub

A coté, j'ai un module appelé lui aussi "export" (enfin on s'en fout de son nom) où on trouve la macro "creer_page"

VB:
Sub creer_page()

CreerFeuille = True
For Each ff In Worksheets
        If ff.Name = sn_fcv Then CreerFeuille = False
Next
If CreerFeuille Then
  Sheets.Add after:=Sheets(Worksheets.Count)
  Sheets(Worksheets.Count).Name = sn_fcv

End If
End Sub

Enfin j'ai un dernier module ou j'ai déclaré sn_fcv comme public

VB:
Public sn_fcv As String

Pourtant, quand je remplis la cell sn_fcv de mon userform, en pas a pas, je trouve bien la valeur en passant ma souris sur ma valeur test et des que je passe dans mon autre module pour démarrer creer_page, sn_fcv ne vaut plus rien...

Excel perdrait il la mémoire?

Merci pour votre aide
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Mon Excel a Alzheimer

Bonjour


A coté, j'ai un module appelé lui aussi "export" (enfin on s'en fout de son nom) où on trouve la macro "creer_page"
Si je lis bien, le code est dans le code de l'userform au lieu d'être dans un module standard

Essaie en coupant/collant ta macro creer_page dans un module standard ainsi que ta déclaration Public sn_fcv As String
 
Dernière édition:

Shinichi

XLDnaute Junior
Re : Mon Excel a Alzheimer

Merci pour ta réponse, j'apporte une précision

J'ai mon userform avec mon bouton qui appelle la macro creer_page quand on click dessus

Dans ma section "module", j'ai 2 modules:
- un qui contient "creer_page"
- un qui contient la déclaration public

Merci d'avance

Bruno
 

Shinichi

XLDnaute Junior
Re : Mon Excel a Alzheimer

Je t'envoie un autre fichier que j'ai fait en parallele. Comme c'était pour le boulot, je devais le faire marcher pour me dépanner sur un truc.
C'est donc tres moche et j'ai du tout mettre dans le userform.

Je souhaiterais faire un truc plus clean
 

Pièces jointes

  • DataBase.zip
    26.3 KB · Affichages: 18
  • DataBase.zip
    26.3 KB · Affichages: 19
  • DataBase.zip
    26.3 KB · Affichages: 20

Staple1600

XLDnaute Barbatruc
Re : Mon Excel a Alzheimer

Re*


Personnellement, je verrais la chose suivante:
VB:
'Module de Déclaration des variables
Public prog As String
Public CreerFeuille As Boolean

Et tes procs dans un module standard
avec en préfixe Public

Et dans le code de l'userform ne resterai que:
VB:
Sub Export_Click()
Thruster.Hide
gfvd = prog
creer_page
copie_et_remplissage_template
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz