recherche chaine de caractère + stxt en vba

  • Initiateur de la discussion Initiateur de la discussion vistla
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

vistla

XLDnaute Junior
Bonjour!

J'ai un soucis en VBA. J'ai fait des recherches sur le forum afin de régler mon problème comme un grand, mais après quelques essais infructueux, je fais appel à vous!

Dans ma colonne B, la chaine de caractère suivante s'y retrouve aléatoirement : CLIENT: 0000000xxx NOM DU CLIENT.

Je voudrais qu'à chaque fois que cette chaine de caractère est trouvé, une extraction de la chaine 0000000xxx soit faite dans la colonne A, devant chaque date (onglet EXEMPLE 1). Au pire, l'extraction pourrait se faire sur chaque ligne et je ferai un tri par la suite (EXEMPLE 2)

J'avais trouvé sur le forum que je devais utiliser la fonction FIND, avec MID, mais je n'ai pas réussi à les combiner ensemble.



Merci de votre aide!
 

Pièces jointes

Re : recherche chaine de caractère + stxt en vba

Salut Vistla

Je te propose une solution mais en ajoutant une colonne à ton tableau que tu peux masquer par la suite.

Dans la premier colonne, je teste la présence du mot CLIENT dans la colonne C. S'il est présent alors j'inscrit la ligne correspondante.

Dans la colonne B, je teste la présence du mot FACTURE dans la colonne C. S'il est présent alors je recherche la dernière occurrence de la colonne A (son maximum jusque cette ligne()-1 et en retire le numéro du client grâce à stxt

Je te joins le fichier pour exemple

@++
David
 

Pièces jointes

Re : recherche chaine de caractère + stxt en vba

Je m'attendais à un code VBA, mais ceci fait parfaitement l'affaire! Merci! Je dois formater plusieurs fichiers comme ceci pour une importation dans un nouveau logiciel comptable, et ça va me sauver beaucoup de temps!

un gros merci!
 
Re : recherche chaine de caractère + stxt en vba

Re Vistla,

Si tu veux à tout prix le faire en vba, je te propose cette procédure à insérer dans la méthode Open de ton Workbook

Code:
Private Sub Workbook_Open()
For Each Feuilles In Worksheets
   For Each Cellule In Feuilles.UsedRange.Cells
      If Left(Cellule.Value, 6) = "CLIENT" And Cellule.Column = 2 Then NumClient = Mid(Cellule.Value, 9, 10)
      If Left(Cellule.Value, 7) = "FACTURE" And Cellule.Column = 3 Then
        Feuilles.Cells(Cellule.Row, 1).NumberFormat = "0000000000"
        Feuilles.Cells(Cellule.Row, 1).Value = NumClient
      End If
   Next
Next
End Sub

Je te joins ton fichier d'origine modifié avec la procédure VBA

@++
David
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
223
Réponses
3
Affichages
487
Retour