IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

besoin d'aide au prog vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 23
    Par défaut besoin d'aide au prog vba
    salut
    je voudrais savoir es que c'et possible de recuperer des données comme ce exemple
    ( salut les amie[x001]bonjour adan[x001]alors comment ça tu anna[x002]traès bien et vous[x002]..........)dans un document word
    et avoir c resultats sur excel

    x001|bonjour adan
    x002|très bien et vous
    .........................
    .........................
    seulement les données qui sont entre par exemple [x001]....et [x001]

    et si je me suis pas bien expliquer vous pouvez trouvez dans la pièce jointe un petit exemple .
    merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 23
    Par défaut
    salut alors personne ne ma repondu j'ai un code qui ça marche très bien mais j'ai un problème j'ai des donées dans le word par exemple comme ça :
    (
    Déjà disponible
    [x001] sur Playstation 3 et Xbox 360 depuis le 17 octobre dernier. [x001]
    Saints Row 2 s'apprête à débarquer sur PC.
    [x002] S'il n'est pas prévu avant le 2 février prochain en Europe [x002], le titre de Volition THQ devrait ...................
    )
    et le programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Sub RecupDataBalise()
    Dim A$
    Dim reponse
    Dim DOC As Object 'Word.document
    Dim T()
    Dim pos&
    Dim cpt&
     
     
    reponse = Application.GetOpenFilename("Documents Word (*.doc), *.doc")
    If reponse = False Then Exit Sub
    '--- Ouvre le fichier Word sans qu'il soit visible
    Set DOC = GetObject(reponse)
    '--- Récupère tout le texte du fichier dans une variable de type String
    A$ = DOC.Range.Text
    '--- Ferme le fichier Word
    DOC.Close
    Set DOC = Nothing
    '--- Si il n'y a aucune occurence de "[" alors on quitte la macro
    If InStr(1, A$, "[") = 0 Then Exit Sub
    '--- On recherche les "[" et les "]" pour définir leurs positions
    '--- puis on coupe les sous-chaînes qui nous intéressent
    '--- Mettez vous en mode pas à pas (F8) pour surveiller les
    '--- valeurs de A$ et de pos&
    Do Until InStr(1, A$, "]") = 0
      pos& = InStr(1, A$, "[")
      A$ = Mid(A$, pos + 1)
      pos& = InStr(1, A$, "]")
      cpt& = cpt& + 1
      '--- On met les extractions dans un tableau bidimensionné
      '--- ATTENTION seule la dernière dimension peut être redimensionnée
      ReDim Preserve T(1 To 2, 1 To cpt&)
        '--- Les 00x ---
      T(1, cpt&) = Mid(A$, 1, pos& - 1)
      A$ = Mid(A$, pos& + 1)
      pos& = InStr(1, A$, "[")
        '--- Le texte qui nous intéresse
      T(2, cpt&) = Trim(Mid(A$, 1, pos& - 1))
      A$ = Mid(A$, pos& + Len(T(1, cpt&)) + 2)
    Loop
    '--- On a joute une nouvelle feuille
    Sheets.Add
    '--- On inscrit ce qui a été trouvé dans la nouvelle feuille
    '--- après avoir transposé le tableau T
    '--- Il y a nécessité de transposer pour obtenir des lignes sur 2 colonnes
    '--- et non 2 lignes sur des colonnes
    '--- Voir la remarque ci-dessus (ATTENTION seule la dernière dimension peut être redimensionnée)
    Range(Cells(1, 1), Cells(UBound(T, 2), 2)) = _
    Application.WorksheetFunction.Transpose(T)
     
    End Sub

    le code ça marche très bien mais le probléme c'est si qq1 a saisi des données et il a tremper par exemple
    (
    Déjà disponible
    [x001] sur Playstation 3 et Xbox [ 360 depuis le 17 octobre dernier. [x001]
    Saints Row 2 s'apprête à débarquer sur PC.
    [x002] S'il n'est pas prévu avant le 2 février prochain en Europe [x002], le titre de ] Volition THQ devrait .
    )
    je peut pas recuperer correctement mes données alors s'il vous p j'ai besoin d'une aide merci d'avance .

Discussions similaires

  1. [XL-2007] Besoin d aide sur code vba
    Par alexandrek dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/01/2011, 17h10
  2. Réponses: 2
    Dernier message: 09/06/2006, 14h38
  3. [VBA-E] Besoin d aide pour un balayage
    Par Julia` dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/05/2006, 14h51
  4. [VBA-E]besoin d'aide pour faire une boucle
    Par mikazounette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/04/2006, 14h04
  5. [VBA-E] besoin d'aide excel et formulaire
    Par lolo_the_fripouille dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/04/2006, 07h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo