Code vba

Bonjour à tous, j'espère que quelqu'un pourra m'aider car la je galère...
J'ai marqué comme code vba:
Private Sub Userform_Initialize()
Dim Plus As String
LblRaison.Caption= "Raison Sociale" & Chr(10) & Sheets("bd").Range("A" & Lig).Value
et ça ne fonctionne pas ça m'affiche erreur d'éxécution 1004: erreur définie par l'application ou par l'objet

Je ne comprends pas où est mon erreur.
Merci d'avance pour votre aide

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour fabieg,

    Est-ce que :
    LblRaison.Caption= "Raison Sociale" & Chr(10) & Sheets("bd").Range("A").Value & Lig
    ne marcherait pas mieux ?
    1. Non ça me mêt le même message d'erreur, décidément je ne vois pas ce qui cloche...
  2. bah le pb c'est que je peux pas sélectionner simplement une cellule car en fait ça dépend de la sélection qui a été faite sur un autre userform. Je m'explique dans mon usfnew on choisit une raison sociale parmi les choix qui proviennent de ma colonne A de mon fichier et le résultat doit s'afficher dans mon userform affichage et donc dans LblRaison
    1. Hello,

      Bon, excuse-moi, j'ai répondu à côté.
      Je me suis fait un form.
      Ce que tu as écrit au début fonctionne, à condition que Lig soit défini. Ce n'est sans doute pas le cas...
      Ajx.
      1. stp après j'essaie de plus t'embeter...Tu peux m'expliquer comment je définie Lig?
        Merci pour ton aide
    2. Fabieg,

      Je suppose que dans ta feuille "bd", en colonne A, tu as des "Raisons sociales", et que tu veux faire apparaître dans ton label, à l'initialisation de ton formulaire, celle qui se trouve en ligne n° <c'est toi qui le sait>.
      "Lig" doit avoir la valeur de la ligne correspondante. Il faudrait en savoir davantage sur ton fichier et ce que tu veux obtenir pour voir comment paramétrer ça.

      Ajx.
      1. bah en fait le numéro de la ligne dépend du choix fait dans un userform précédent...
      2. @fabiegOK.
        Donc, dans ton userform précédent, stocke quelque part cette information, dans une constante de portée générale, dans une cellule d'une feuille..., où tu veux.
        Et ensuite, commence ta procédure d'initialisation avec : Lig = <la valeur stockée>.
        Ajx.
      3. @fabiegmais je la stocke comment l'info dans mon premier userform?
    3. ;-)

      Tu crées un module, que tu nommes "Variables" ou "Définitions" pour plus de lisibilité...

      Dans ce module tu crée une variable :

      Public Lig As QuelqueChoseQuiCorrespondAuContenu

      Ensuite, dans ton code, il te suffit de dire Lig=xxx
      ...

      ;-)

      Ps : Tu n'est pas obligé de créer un module, du moment que tu définis ta variable HORS d'une Sub... Mais la maintenance sera plus difficile...
      1. Merci beaucoup! et par contre si j'en ai plusieurs des "Lig" qui se réfèrent à différentes colonnes je les écrit tous? et je les différencie comment? Lig1,Lig2...?
      2. Malheureuresement mon code ne fonctionne toujours pas...
        Voici ce que j'ai mis dans mon premier userform:
        'définition'
        Public Lig As RaisonSociale
        et dans mon deuxième userform:
        Private Sub Userform_Initialize
        Lig = RaisonSociale
        Dim Plus As String
        LblRaison.Caption = Sheets("bd").Range("A").Value & Lig

        et ça m'affiche l'erreur 1004 erreur définie par l'application ou par l'objet...
        Pouvez-vous me dire ce qui ne va pas?
        Merci d'avance
      3. @fabieg;-)

        Public Lig As

        -> INTEGER/LONG/STRING.....

        ;-)

        Si c'est un N° de ligne Excel : Public Lig As Long

        ;-)
    4. ;-)

      Dans ce cas, tu peux aussi utiliser un tableau :

      Public Lig()

      Qui te crée une matrice vide, que tu peux ensuite redimensionner à souhait...

      Redim Preserve Lig(10,10)

      par exemple te recrée une struxture de 10 lignes/10 colonnes sans toucher à ce que tu avait précédemment....

      Ensuite :

      Lig(1,1)="toto"
      Lig(2,1)="titi"......

      ;-)
      1. Suis désolée mais j'ai pas compris...:( je dois refaire un tableau sous excel dans une nouvelle feuille? mais dans ma base initiale j'ai 1600 lignes... je ne vois vraiment pas ce que je dois faire
      2. Est-ce que je pourrais t'envoyer mon fichier?tu pourrais peut-être mieux voir ce que j'ai fait comme bétise...
      3. @WhiteFangje n'arrive pas à m'inscrire il me dit que la clé est fausse
      4. @fabieg;-)

        il faut attendre le mail de confirmation, quand tu le reçois, tu cliques sur le lien et c'est bon...

        ;-)