Ouvrir un fichier Excel avec des variables

Bonjour,

Je souhaite ouvrir un fichier excel avec des variables. J'ai en parti réussi mais la saisie de ma variable "affaire" est longue. Je souhaite donc limiter la saisie aux 4 ou 5 premier caractères, puis ne pas tenir compte du reste. comment faire ?

Merci de votre aide.

Voici une partie de mon code :

Dim affaire As String

Dim année As String

année = TextBox1

affaire = TextBox2

Workbooks.Open Filename:="D:\Users\Documents\" & année & "\" & affaire & ".xls"

Bonjour,

Pas sûr de bien comprendre ...

Mais ...

affaire = Left(TextBox1, 5) ''' le 5 représente le nombre de caractères

Gelinotte

Affaire est composé suivant le principe :

partie1 - partie 2 - partie 3.

Dans ma textbox je souhaite juste saisir la partie1 et non tous car seule la partie 1 est importante.

Bonjour,

Est-ce que affaire est toujours composé : de caractères, puis une espace, puis un tiret etc... ?


Bonjour,

Un test pour voir si ça convient :

Sub test()
affaire = "Ilétait - une - fois"
lengthchain = InStr(affaire, " ")

MsgBox Left(affaire, lengthchain - 1)  ''' ici MsgBox renvoie : "Ilétait"
End Sub

Gelinotte

Je comprends pas tout

Si je prends ton exemple , affaire = " Ilétait - une - fois"

Moi je souhaite pour ouvrir avec seulement " ilétait" alors que son nom complet est " Ilétait - une - fois"

Comment faire pour intégrer ton code.

Workbooks.Open Filename:="D:\Users\Documents\" & année & "\" & affaire & ".xls"

MERCI !!!

VincMalin a écrit :

Je comprends pas tout

essai de comprendre le code à Gelinotte , avant d'ouvrir ton fichier tu dois en trouver son nom Gelinotte te montre comment ..

une fois que tu auras le nom du fichier à ouvrir tu terminera ton code , une étape après l'autre , commence par trouver ce nom ..!

Bonjour,

Ceci devrait fonctionner ...

Est-ce plus compréhensible ?

Dim affaire As String
Dim année As String
Dim lengthchain as byte

année = TextBox1
affaire = TextBox2

lengthchain = InStr(affaire, " ")  ''' trouve la position de l'espace, dans la chaine ..  Xiem caractère.
affaire = Left(affaire, lengthchain - 1)  ''' ici, je modifie affaire afin qu'il ne contienne que les premiers caractères jusqu'à l'espace.
                     ''' supposons que affaire contienne 40 caractères et que la première espace est le 11e caractère, on ne garde que les 10er caractères.
Workbooks.Open Filename:="D:\Users\Documents\" & année & "\" & affaire & ".xls"

gelinotte

Super merci j'essaie ça demain...

Mais je pense que c'est l'inverse, ma variable affaire ne contient pas le nom complet du fichier

Merci encore pour ton aide.

Bonne soirée.

Finalement je vais me simplifier la vie.

IL faut que je récupère dans une variable le chemin d’accès de mon fichier ouvert et que j'ajoute une seconde variable pour ouvrir mon second fichier.

Est-ce qu'il faut que j'utilise la fonction ci dessous pour récupérer le chemin.

Dim chemin as string

chemin = Activeworkbook.Path

Merci.

Bonjour,

Dim chemin as string

chemin = Activeworkbook.Path & "\"

Il faut penser à ajouter le "backslash" pour terminer et être prêt à recevoir le nom du fichier.

Gelinotte

Rechercher des sujets similaires à "ouvrir fichier variables"