Selectionner une cellule non défini vba

Résolu
Bonjour, je suis un petit amateur dans le monde de vba. j'ai eu quelques cours il y plusieurs mois dessus et ai décidé de mi remettre. Aujourd'hui j'ai créé un programme qui permet de créer un indice sur les documents créé en entreprise. j'utilise beaucoup de combo-box. Mon problème est que j'inscris dans une case le nom du document (jusque la sa va) Cette case est variable. le nom du document s'ajoute à tous ceux déjà créé dans la liste seulement je veux inscrire dans la case à côté l'indice choisi plutôt par grâce à ces combo-box. Et la impossible de trouver une solution... car la cellule de mon nom du document est variable cela dépend du nombre de procédures déjà créé...Comment puis je faire??

Si c'est trop facile j'ai une question bonus: Je trouve ma procédure pour mes combo-box trop lourde: En effet je vérifie s'il y a un nom existant si non j'inscris ma variable, si oui je vérifie s'il y a un nom dans la case en dessous, si c'est le même nom j'avertis avec une boite de dialogue,
si non j'inscris ma variable et enfin si ces deux cases sont prises je sélectionne une plage de cellule qui part de la première jusqu'à la dernière non vide (fonction: End(xlDown).Address ) je vérifie avec une boucle si ma variable est déjà existante sinon je descend d'une case et je l'inscris
Si quelqu'un à des idée....
Merci

14 réponses

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

    pourriez-vous mettre votre fichier, en mettant des donnees bidons, a dispo avec une explication de ce que vous voulez en cliquant sur le lien suivant

    https://www.cjoint.com/

    n'oubliez pas de copier/coller le lien cree sur votre prochain message
    1. Bonjour,

      le nom du document s'ajoute à tous ceux déjà créé dans la liste seulement je veux inscrire dans la case à côté l'indice choisi plutôt par grâce à ces combo-box.

      Vous pourriez reexpliquer !!!!
      1. Effectivement c'est pas claire^^
        Dans la case A1 (par exemple) le nom de mon document s'inscrit et je veux dans la case B1 inscrire l'indice
        Seulement Le numéro de colonne est variable cela peut être 1.2.3.4.5.6....
        car le nom de mon document est rangé dans la première cellule vide qu'il trouve sur la colonne A
        Donc comment faire pour inscrire l'indice dans la cellule d'à côté??
        1. merci
          je vais pouvoir avancer dans mon programme
          comme tu as du le voir il n'est pas fini^^
          en fait c'est trop bête j'avais la solution en face des yeux mais je ne l'ai pas appliquer à mon pb^^
          1. merci beaucoup j'ai pu avancer
            pas grave pour les combobox aujourd'hui il y a une procédure par combobox
            je vais voir pour la standardiser et en avoir une seule pour toute sa sera moins lourd

            merci
            1. petite dernière question^^:
              l'opérateur choisi un indice dans la liste des combobox
              et je veux inscrire juste les 4 premières lettres de l'indice dans une cellule
              pour rappel les indices son créé aux fur et mesures que l'opérateur en a besoin
              (ils ne sont donc pas définis à la base
              comment je peux faire??
              1. Re,

                regardez tout de meme dans le dernier fichier que je vous ai mis, la modif de recherche si indice(s) deja existant.

                ensuite,

                je veux inscrire juste les 4 premières lettres de l'indice dans une cellule

                ca j'ai compris

                pour rappel les indices son créé aux fur et mesures que l'opérateur en a besoin
                (ils ne sont donc pas définis à la base
                comment je peux faire??


                la, un peu moins
                1. ui j'ai vu c'est plus léger comme structure^^

                  Si je trouve une solution je vous le dirai

                  merci beaucoup
                  1. Re,

                    ui j'ai vu c'est plus léger comme structure^^ c'est surtout un peu plus performant en execution

                    et pour votre demande sebnormand 26 oct. 2013 à 16:51
                    1. j'ai trouvé.Cette fonction est tres simple :

                      dim chaine as string
                      chaine = "XLD_FORUM"
                      LEFT(chaine,1)

                      Ce qui récupère dans les caractères de la chaine "chaine" à partir de la gauche. Le 1 est le nombre de caractère à extraire.

                      Tu peux aussi utiliser MID(chaine,1,1)
                      Tu décide ici du départ de l'extraction (1er 1) puis du nombre de caractères (2éme 1)

                      dans mon cas c'est lindice1=Left(vindice1, 4)
                      j'inscris dans un label les 4 première lettre de ma variable (variable dont sa valeur est récupéré dans un autre userform)
                      voila