Récupérer texte entre 2 caractères
Résolu
PYGOS69
Messages postés
452
Date d'inscription
Statut
Membre
Dernière intervention
-
PYGOS69 Messages postés 452 Date d'inscription Statut Membre Dernière intervention -
PYGOS69 Messages postés 452 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
N'ayant pas trouvé exactement , ce que je recherche? je pose ma question :
en colonne A je liste les fichiers d'un répertoire (à partir de A2) par VBA
PT 2.7.2 Paul.xlsm
PT 2.7.2 Eric.xlsm
PT 2.7.2 Claire.xlsm
Je souhaite récupérer le texte en colonne B, après le dernier espace et avant le dernier . (point)
Dans mon cas le prénom... (exemple : en B2 = Paul)
Merci d'avance,
PYGOS69
Excel 2010
N'ayant pas trouvé exactement , ce que je recherche? je pose ma question :
en colonne A je liste les fichiers d'un répertoire (à partir de A2) par VBA
PT 2.7.2 Paul.xlsm
PT 2.7.2 Eric.xlsm
PT 2.7.2 Claire.xlsm
Je souhaite récupérer le texte en colonne B, après le dernier espace et avant le dernier . (point)
Dans mon cas le prénom... (exemple : en B2 = Paul)
Merci d'avance,
PYGOS69
Excel 2010
Configuration: Windows / Internet Explorer 11.0
A voir également:
- Récupérer texte entre 2 caractères
- Recuperer message whatsapp supprimé - Guide
- Caractères spéciaux - Guide
- Caractères ascii - Guide
- Récupérer mon compte facebook désactivé - Guide
- Convertisseur récupération de texte - Guide
3 réponses
Bonjour,
Faire Alt F11 pour accèder à l'éditeur
la macro se déclenche à la sélection dans la cellule:
avec la fonction Split
Faire Alt F11 pour accèder à l'éditeur
la macro se déclenche à la sélection dans la cellule:
avec la fonction Split
Option Explicit Dim chaine As String Dim nombre As Integer Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then chaine = Target.Value separateur Range("B" & Target.Row).Value = Split(chaine, " ")(nombre) Range("B" & Target.Row).Value = Split(Range("B" & Target.Row).Value, ".")(0) End If End Sub Sub separateur() Dim str, num1, num2 str = chaine num1 = Len(str) str = Replace(str, " ", "") num2 = Len(str) num1 = num1 - num2 nombre = num1 'nombre total de séparateurs End Sub
Bonjour Pygos69
J'avais posté un truc que j'ai supprimé ...
l'idée est d'utiliser ton code que tu as déjà et on inscrit le ie prénom par une fonction à partir du moment ou ton code écrit le nom d'un classeur dans une cellule de ta feuille
J'avais posté un truc que j'ai supprimé ...
l'idée est d'utiliser ton code que tu as déjà et on inscrit le ie prénom par une fonction à partir du moment ou ton code écrit le nom d'un classeur dans une cellule de ta feuille
Option Explicit
'----------------------------
Function extraire(lig As Integer)
Dim xxx As String, Separe
Separe = Split(Cells(lig, "A"), " ")
xxx = Separe(2)
extraire = Left(xxx, Len(xxx) - 5)
End Function
'----------------------------
'a partir de ton code lorsque le nom du classeur est trouvé
Sub Toncode()
'demo sur une ligne....par exemple la ligne 2
Dim lig As Integer
lig = Range("A2").Row
Range("B2") = extraire(lig)
End Sub
La fonction Split est intéressante pour d'autres projets...