Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/12/2011, 08h44   #1
Invité de passage
 
Inscription : mars 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 13
Points : 0
Points : 0
Par défaut Création d'une macro avec une condition

Bonjour à tous

Je ne suis pas très douée pour les macros et celle que j'aimerai faire me paraît compliquer.
Il y a deux points qui me bloquent:
-comment sélectionner une partie de texte qui en plus est insérer dans un tableau
-comment lui dire de rajouter quelques choses selon ce qui est écrit.

Voilà mon exemple:
- Contenance : n g ( mm minimum)

Si n <50 mettre 2 mm minimum
Si 50< ou = n <200 mettre 3 mm minimum
etc...

Voilà, j'espère avoir exposé clairement mon problème...

Merci d'avance pour vos réponses
jijidu67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 10h00   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 338
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 338
Points : 29 246
Points : 29 246
Salut,

Clairement, on peut pas dire ça comme ça.

Tout dépend de l'endroit où se trouve le texte et comment il écrit.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 13h36   #3
Invité de passage
 
Inscription : mars 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 13
Points : 0
Points : 0
Bonjour

Eh bien comme je le disais, le texte est dans un tableau et mon example est:
- Contenance : n g ( mm minimum)
avec n comme nombre qui varie. Et je voulais faire une macro car aujourd'hui on rempli manuellement le ( mm minimum), en mettant 2, 3, 4 ou 6 selon la valeur du nombre n. Du coup, je me posais la question de pouvoir faire une macro qui le ferai en auto...
Je ne sais pas si s'est faisable car qu'en je réfléchi à la fonction "if" sur excel, même là ça m'a l'air difficile de mettre en oeuvre...
jijidu67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 13h47   #4
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour,

Il y a plusieurs possibilités tout dépend le contexte global.
Premièrement qu'est-ce que le n : Un champs de fusion? Si tel est le cas, c'est mleiux de le définir dans la lettre de base.
Deuxièmement : On peut effectivement par macro sélectionner le mot après "contenance :" et puis tester sa valeur et y insérer un texte après. (Fonction find pour la recherche).
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 13h53   #5
Invité de passage
 
Inscription : mars 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 13
Points : 0
Points : 0
non le nombre n est du texte simple, pas de champ de fusion
jijidu67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 14h08   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 338
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 338
Points : 29 246
Points : 29 246
Salut,

Crois tu qu'avec si peu on puisse y parvenir ?


Voilà ce que ça peut donner comme code.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim oTbl As Table
Dim oRw As Row
 
Set oTbl = ActiveDocument.Tables(1)
   For Each oRw In oTbl.Rows
    Debug.Print Mid(oRw.Cells(1).Range.Text, 16, 2)
      Select Case CInt(Mid(oRw.Cells(1).Range.Text, 16, 2))
      Case Is < 50
         oRw.Range.Text = Left(oRw.Cells(1).Range.Text, 20) & "( 2 mm minimum)"
      Case Is > 50
         oRw.Range.Text = Left(oRw.Cells(1).Range.Text, 20) & "( 3 mm minimum)"
      End Select
   Next oRw
Set oTbl = Nothing
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 14h31   #7
Invité de passage
 
Inscription : mars 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 13
Points : 0
Points : 0
oui c'est bien ça, si je fais un tableau avec une entrée ça marche. Mais à l'application de mon tableau ça ne fonctionne pas. Mon tableau ressemble à ça:

[IMG][/IMG]
jijidu67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 15h37   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 338
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 338
Points : 29 246
Points : 29 246
Salut,

On en revient donc à ce que j'avais demandé.

Citation:
Envoyé par jijidu67 Voir le message
Bonjour

Eh bien comme je le disais, le texte est dans un tableau et mon example est:
- Contenance : n g ( mm minimum)
avec n comme nombre qui varie. Et je voulais faire une macro car aujourd'hui on rempli manuellement le ( mm minimum), en mettant 2, 3, 4 ou 6 selon la valeur du nombre n. Du coup, je me posais la question de pouvoir faire une macro qui le ferai en auto...
Je ne sais pas si s'est faisable car qu'en je réfléchi à la fonction "if" sur excel, même là ça m'a l'air difficile de mettre en oeuvre...
Et ton info était vraiement incomplète.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 15h41   #9
Invité de passage
 
Inscription : mars 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 13
Points : 0
Points : 0
Désolé, je ne savais pas qu'il falait une grande précision...
jijidu67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h19.


 
 
 
 
Partenaires

Hébergement Web