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 :

Code démarre tout seul


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut Code démarre tout seul
    Bonjour,
    Content de vous retrouver.
    But de mon codage: depuis Excel, prélever des passages dans un texte Word et les placer dans des cellules déterminées. Je suis arrêté en route parce qu'une instruction anodine fait démarrer l'exécution et je ne comprends pas pourquoi. Voici un bout du code en l'état:
    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
     
    Sub copie_source()
    ligne = 1
    colonne = 2
     
    Do
     
    ThisWorkbook.Sheets("mes_sources").Activate
    Columns("A:A").ColumnWidth = 32
     
    Call preleve_dans_Word
     
    Worksheets("mes_sources").Activate
    Cells(ligne, colonne).Select
    Selection.Value = report
     
    'Call trie_noms
    Selection.Offset(0, -1).Value = NomPrenom
    ligne = ligne + 1
     
    Loop While report <> ""
    End Sub
     
    Sub preleve_dans_Word()
     
     
        compte_lignes = 1
     
        Set mon_doc_word = CreateObject("Word.Application")
        MsgBox ("mon_doc_word" = mon_doc_word)
    C'est l'avant-dernière ligne qui fait démarrer l'exécution (la suivante sert à la stopper sans faire Ctr+Alt/del)
    Si quelqu'un détecte le bogue, merci d'avance.
    Cordialement
    touche_a_tout

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Heu pas compris ....

    une instruction anodine fait démarrer l'exécution
    Fait démarrer quoi ?

    PS: Ajoute l'instruction Option Explicit en tête de tes modules, et declare tes variables, ca facilitera les choses.

  3. #3
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut Code démarre tout seul
    Merci deedolith,
    Option explicit: excellente habitude mais parfois, la flemme...
    Le fond du problème, c'est que j'ai "exécution en cours" qui s'affiche en haut de l'écran, que tout est bloqué sur l'interface et que je ne sais pas ce qui est en train de s'exécuter.
    Je suis sur un portable chez des amis. En chargeant mon extrait de code sur un EXCEL 97, quelque chose démarre mais s'arrête après quelques secondes et ça passe au msgbox qui indique "faux". Toujours aussi mystérieux. Qu'est-ce que ça donne sur ta machine (je ne pense pas véhiculer de virus) ? Une idée ?
    Cordialement
    touche_a_tout

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Toujours pas compris ...
    Dans le code que tu as posté, il n'y a rien qui affiche "execution en cours", ni rien qui affiche "Faux".

    Peux tu uploader ton classeur ainsi que le fichier word associé ? On y verra peut-être plus clair.

    excellente habitude mais parfois, la flemme...
    Et la "flemme" te fait écrire du code pourri !!!
    Corrige ca d'urgence.

  5. #5
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    1 023
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 1 023
    Par défaut
    Bonjour,
    Dans l'instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ("mon_doc_word" = mon_doc_word)
    Vous demandez de renvoyer ceci : est ce que la chaîne de caractères "mon_doc_word" est identique à l'objet mon_doc_word ?
    Excel répond Faux, ce qui est normal.
    Je pense que vous vouliez écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "mon_doc_word = " & mon_doc_word
    Mais ça ne devrait pas marcher car mon_doc_word est un objet et pas une variable.
    Cordialement

  6. #6
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut Code démarre tout seul
    Bonjour et merci à deedolith et Laurent Ott,
    Le code pourri, c'est pas la flemme, c'est mon ignorance.
    Il manque en effet un & dans mon msgbox et je vois pourquoi ça ne marche pas, merci Laurent Ott.
    Reste le problème initial: est-ce parce que mon code est pourri qu'il démarre tout seul ?

    Autre chose: à mon tour de ne pas comprendre, deedolith. Je ne vois pas pourquoi mon code contiendrait "Exécution en cours" ou "Faux". Exécution en cours ne s'affiche que dès que le code démarre mais alors impossible de faire une capture d'écran, tout est bloqué.
    Je vais voir si j'arrive à nettoyer mon code avant de vous passer mon classeur puisque je suis bloqué par ces démarrages intempestifs.
    Mais comme je touche à VBA une fois tous les six mois, j'oublie les trois quarts de mon mince bagage d'une fois à l'autre ! Au fait, l'envoi de classeurs est-il autorisé ?
    J'ai le même problème avec un code que j'ai emprunté sur une autre discussion. Peut-être qu'il y a un bug dans mon logiciel Word. A tout hasard, voici le code que j'ai "emprunté" pour l'adapter. Entre temps, j'ai constaté que mes extraits de Word sont trop longs pour une cellule Excel, j'aimerais donc transférer ces extraits vers un tableau Word en vue de classement. Merci de votre assistance.

    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
    Sub data_source_wd()
     
    Application.ScreenUpdating = False
     
    Dim wApp As Word.Application
    'vous saisissez au clavier : =lorem(10,10) suivi de Entrée,
     
    Dim oDoc As Word.Document
    Set wApp = New Word.Application
     
    'FichierTest_ = ActiveWorkbook.Name
     
    chemin = "C:\Users\41793\desktop\"
    nomfichier = "copierselection.docm"
     
     
    Set oDoc = wApp.Documents.Open(chemin & nomfichier)
     
    'à partir d'ici je n'ai pas plu adapter le code à mon objectif, et pour cause.
     
    oDoc.Selection.Find
    Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "2.2.2   Alerted and ‘Passed’ messages*2.2.3   Alerted and 'Failed' messages"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchAllWordForms = False
            .MatchSoundsLike = False
            .MatchWildcards = True
        End With
        Selection.Find.Execute
     
     
    Selection.Copy
    'Workbooks(FichierTest_).Activate
     
    ActiveSheet.Paste
     
    End Sub
     
    Sub bidules()
    Le démarrage non désiré se produit au niveau de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oDoc = wApp.Documents.Open(chemin & nomfichier)
    Cordialement
    touche_a_tout

Discussions similaires

  1. Feuille qui se copie tout seule sans le code
    Par Coco47 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/02/2021, 16h25
  2. [OL-2007] Outlook démarre tout seul
    Par Herve_be dans le forum Outlook
    Réponses: 10
    Dernier message: 14/09/2018, 15h14
  3. Un seul code pour toutes les feuilles
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 16/05/2013, 16h46
  4. PC sous seven qui démarre tout seul
    Par P.G dans le forum Windows 7
    Réponses: 3
    Dernier message: 06/12/2011, 15h51
  5. mon Mac os x 10.6.8 démarre tout seul
    Par zami94 dans le forum Mac OS X
    Réponses: 5
    Dernier message: 27/10/2011, 13h42

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