XL 2010 Extraire du texte d'une zone de texte (Text Box)

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 !

oderoaldes

XLDnaute Junior
Bonjour,
je vais encore vous solliciter car J'ai récupéré des répertoire dans lequel pour chaque année, il y a environ 300 factures dans lesquelles les coordonnées du client on été mise en insérant une zone de texte (Text Box 1 ou Text Box 2) dans la feuille.
Je voudrais pouvoir récupérer toutes ces adresses pour créer une base de donnée ainsi que si possible le numéro de facture en A8
J'ai pas mal cherché mais ne trouve vraiment rien qui fonctionne vraiment et qui me permette surtout de passer si possible tout le répertoire en une fois.
Je vous joins un petit exemple du fichier.
Merci d'avance pour votre aide.
Bien cordialement.
 

Pièces jointes

Bonjour,

Je n'ai jamais fait mes devoir aussi vite 😉 et j'ai repassé toutes les factures pour corriger toutes les TB différentes de 5 ou 7 ou les doublons en TB2

Voici le retour de la V 5, le lien sur le fichier fonctionne au top.

Il y a malheureusement beaucoup de N° de facture ou AV en TextBox2 comme je vous le disais d'ou je pense le problème.
Ne serait il pas possible d'extraire la TB2 avec quelque chose comme :
Range("A1").Value = ActiveSheet.Shapes("ZoneTexte 2").TextFrame2.TextRange.Text proposé dans ce post et l'inclure dans une colonne.
Merci
 

Pièces jointes

Bonjour,
Je suis un peu perdu. Quel est le problème ? Vous avez encore le problème des fichiers dupliqués ?

Pour le TextBox2, je ne comprends pas non plus. Je fais :
VB:
    If [A7] & [A8] <> "" Then
        NoFacture = [A7] & [A8]                                 ' [A7] & [A8] prime sur Textbox2
    Else
        NoFacture = NoFactureTextBox2
    End If
En d'autres termes :
S'il y a quelque chose en A7 ou A8 Alors j'utilise le contenu de A7 et A8 comme N° de facture.
Sinon alors je prends le contenu de TextBox2.
Donc normalement le problème de TextBox2 devrait être résolu.

Peux t-on faire le point :
1- Pour les fichiers dupliqués; Dans votre fichiers, tous les fichiers sont bien différents.
Par exemple pour les 4 derniers Jardiland, j'ai :
2018-2019\FE ACOMPTE 410 NOGENT-LE-PHAYE.xlsx
2018-2019\FE ACOMPTE 409 AGEN.xlsx
2018-2019\FE ACOMPTE 408 LESCURE D'ALBIGEOIS.xlsx
2018-2019\FE ACOMPTE 407 ROYAN.xlsx

2- Pour les textbox2, où reste t-il un problème ?
3- On est bien d'accord sur le fait qu'un AV est bien considéré comme une Facture ?
 
Bonjour,

Le problème c'est que quand j'exécute la macro j'ai le résultat en pièce jointe avec des lignes vides et des lignes dupliquées.

Pour la TextBox2 c'est exactement ce qu'il faut.

Tous les fichiers sont différents, cela peut être le même client mais avec des produits ou services différents.

Oui un avoir est bien considéré comme une facture.

Merci
 

Pièces jointes

  • Capture2.PNG
    Capture2.PNG
    107.8 KB · Affichages: 17
  • Résultat 1 .PNG
    Résultat 1 .PNG
    46.1 KB · Affichages: 17
Pouvez vous me rendre un service :
Lorsque vous survoler les mots Fichier dans la colonne Fichier, il apparaît un popup qui vous dit quel fichier est concerné.
1.jpg

1- Pouvez vous regarder sur les fichiers "dupliqués" s'ils ont le même nom de fichier ou des noms de fichiers différents ?
2- Pouvez vous vous vérifier sur deux ou trois fichiers "dupliqués" si les Société et Adresse sont bien différentes de ce qui est enregistré dans le tableau ?

Une piste serait que l'ouverture du fichier soit plus long sur votre PC que sur le mien, et que comme il ne trouve rien, il conserve les anciennes données.

Testez cette V6.

A chaque ouverture de fichier je vide les données du fichier précédent.
Je mets par défaut Nom="ERREUR" et VILLE="ERREUR"
J'attends que le fichier soit bien ouvert.
Je vérifie si le fichier est ouvert, sinon j'attends une seconde.

Désolé de ce contretemps, mais si c'est lié à la vitesse d'éxécution du PC, la mise au point est toujours un peu longue.
 

Pièces jointes

Si le mot "ERREUR" apparaît, c'est que le fichier n'a pas eu le temps de s'ouvrir.
Donc dans la V6 j'attends une seconde.
Je vais essayer de trouver un moyen. Le problème est que ça va ralentir, et qu'il faut que j'y mette certaines sécurité pour ne pas bloquer.
Je regarde. Je reviens vers vous avec une ... V7.

NB:
Par contre une seconde c'est déjà long. Çà fait combien de temps que vous n'avez pas défragmenter le disque ? 😉
Car en fait XL n'ouvre pas de fichiers. Il demande gentiment à Windows de lui ouvrir le fichier, car c'est Windows qui dispose de ces services. Si Windows rame pour plein de raisons, XL peut continuer à bosser alors que le fichier n'est pas ouvert.
 
Bonjour,
Dans cette V7, je vérifie si le fichier est ouvert. S'il ne l'est pas j'attends une seconde puis je ré essaye. Ceci 10 fois. Ce qui laisse à Windows 10 secondes pour ouvrir le fichier.
VB:
Sub VerifierSiFichierOuvert(Nom)
Temps = 11
For t = 0 To 10                                      ' Temps attente max = 11 secondes
  If Ouvert(Nom) = 0 Then                           ' Fichier pas ouvert
    Application.Wait (Now + TimeValue("00:00:01"))  ' Si pas ouvert attente de 1 seconde
  Else
    Temps = t
    Exit Sub
  End If
Next t
End Sub
Function Ouvert(Nom)
Dim Wb As Workbook
  Ouvert = 0
  For Each Wb In Workbooks
    If Wb.Name = Nom Then
      Ouvert = 1                                    ' Donc fichier ouvert
      Exit Function
    End If
  Next Wb
End Function

Dans le StatusBar j'ai mis le temps trouvé pour chaque fichier :
2.jpg

T= donne le temps d'accès en secondes. Chez moi j'ai toujours 0, mais mon PC est toujours propre.

Essayez, et dites moi quel temps max vous observez. Pour être sur que le problème vient bien de là.
 

Pièces jointes

Je ne comprends vraiment pas ce qui se passe.
J'ai essayé et ré essayé ici, et ça marche.
Je ne sais pas où est le piège ou le bug.

Nouvelle V9

Pouvez vous tester cette V9, j'ai rajouté en colonne I J K L le temps d'ouverture des fichiers, si j'ai trouvé TextBox 5 ou 7, si j'ai trouvé TextBox 2 et si j'ai trouvé quelques chose el Ligne 7 ou 8.
Pouvez vous me renvoyez le fichier en n'effaçant que les colonnes Société Adresse Compléments. Ne pas effacer les Erreurs
Peut être y trouverais une piste.
 

Pièces jointes

Dernière édition:
Déjà ce n'est pas un problème de temps.
Si vous regardez les colonnes J et K.
Il y a des fichiers où je ne trouve pas TexteBox 5 ou 7.

Pouvez vous ouvrir le fichier : 2018-2019\FE 8040 TONNAY-CHARENTE.xlsx
Confirmez vous l'existence de ZoneTexte 5 ( ZoneTexte Espace 5 ) ?
Pouvez vous changer nom adresse et autres données sensibles et me l'envoyer sans rien toucher aux nom des textbox ?

Pareil pour fichier :
2018-2019/FE 7907 SAINT DENIS LES BOURG.xlsx
Là il y a erreur alors que TextBox5 a été trouvé.
 
- 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

Retour