Utiliser une cellule pour donner un nom au fichier

  • Initiateur de la discussion Regis1973
  • Date de début
R

Regis1973

Guest
Bonjour,
Pleins de Probleme......

Je souhaite enregistrer un fichier excel en utilisant les valeurs contenus dans 2 cellules.
Explication:

Valeur de la Cellule A1:
Project Name: 11131ABEILLE

Valeur de la Cellule A2:
Batch / Sample ID: EH002A - 100006169

Les parties ecrites en rouge ne changent jamais

Je souhaite enregistrer le fichier sous le nom : ABEILLE-100006169
C'est à dire comment 'shooter tout les caracteres devant ABEILLE sachant que ce mot n'est pas toujout le meme, la valeur pourai par exemple etre, Project Name: 32223TOUR,etdans ce cas la le fichier doit se nommer TOUR-100006169
Je sais pas trop si cela est possible...........
Merci d'avance
Regis
 
R

Regis1973

Guest
Robert écrit:
Bonjour Régis, bonjour le forum,

Si en A1 le nombre de chiffres avant le nom est toujours le même (5) et si en A2 le nombre de chiffres après le tiret est toujours le même (9) ce code fonctionne :


Dim nom As String
nom = Mid(Range('A1'), 20) & '-' & Right(Range('A2'), 10)

Merci Robert mais malheureusement en A1 le nombre de chiffres avant le nom n'est pas toujours le meme, le formatage est toujour le meme, des chiffres puis des lettres, il faudrait une fonction qui permet de differencier les 2 ou un truc comme ca...
Merci d'avance
Regis
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Régis, bonsoir le forum,

Essaie comme ça :


Sub Macro1()
Dim nom1 As String
Dim nom As String

Range('A1').Value = Trim(Range('A1').Value) 'supprime les espaces avant et après
Range('A2').Value = Trim(Range('A2').Value) 'supprime les espaces avant et après

For x = 15 To Len(Range('A1').Value) 'boucle sur tous les caractères de A1 (en partant du 15ème)
'condition si le code ASCII du caractère est > 64 alors sort de la boucle
'cela veut dire que c'est de l'alpha-numérique...
If Asc(Mid(Range('A1').Value, x, 1)) > 64 Then Exit For
Next x

nom1 = Mid(Range('A1').Value, x) & '-' 'définit la variable nom1

nom = nom1 & Right(Range('A2'), 9) 'définit la variable nom

MsgBox nom 'tu supprimeras cette ligne...
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 850
Membres
103 974
dernier inscrit
chmikha