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

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

  • Mod_facture.xlsx
    30.5 KB · Affichages: 18

oderoaldes

XLDnaute Junior
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

  • RécupèreAdressesClients (V5).xlsm
    28.7 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
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 ?
 

oderoaldes

XLDnaute Junior
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: 15
  • Résultat 1 .PNG
    Résultat 1 .PNG
    46.1 KB · Affichages: 16

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • RécupèreAdressesClients (V6).xlsm
    34.3 KB · Affichages: 2

oderoaldes

XLDnaute Junior
les fichiers dupliqués ont bien tous des nom différents qui correspondent bien au noms de fichiers présents dans le répertoire.
Résultat du test V6 dans le fichier joint.
Mon ordi n'est pas de la première jeunesse d'ou peut être le problème.
Merci
 

Pièces jointes

  • imprim Ecr.pdf
    428 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
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.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • RécupèreAdressesClients (V7).xlsm
    35 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • RécupèreAdressesClients (V9).xlsm
    38.1 KB · Affichages: 1
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
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é.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Une idée. Testez cette PJ.

Je recherche "ZoneTexte 5" ou ZoneTexte5" ou ZoneTexte 7" ou ZoneTexte7"
et ZoneTexte 2" ou ZoneTexte2"

au cas où les Textebox n'aurait pas d'espace.

Il doit bien y avoir un bug quelque part !
 

Pièces jointes

  • RécupèreAdressesClients (V10).xlsm
    38.3 KB · Affichages: 3

oderoaldes

XLDnaute Junior
Post 42 :
Tonnay la zone 5 n'existe pas mais une zone 7
Saint Denis : il existe une zone 5 par contre le fichier FE7907 pése 2075 ko alors que les autres en font 100 !!!
Post 43 :
Dans ce que j'ai vérifié il y a un espace entre "ZoneTexte 7" - "ZoneTexte 5" - "ZoneTexte 2"
Merci
 

Pièces jointes

  • FE 8040 TONNAY-CHARENTE.xlsx
    32.9 KB · Affichages: 1

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83