Numérotation [Résolu] - Logiciels - Windows & Software
Marsh Posté le 11-06-2006 à 12:54:26
Salut,
Excuses moi mais je n'ai pas tout saisi. Si je colle au même emplacement, j'ai la colonne qui se dédouble.(Elle est collée: elle est rajoutée et non superposée).
Marsh Posté le 11-06-2006 à 13:02:32
Bon,
J'explique pourquoi je veux faire ça. Ce sera plus pratique. Je ne veux pas trier la colonne mais inverser les données.
Exemple: carte
c
a
r
t
e
qui devient
e
t
r
a
c
qui devient
etrac
Je convertis donc mon texte d'origine en tableau. Je veux inverser les lettres de la fin au début. J'ajoute donc une colonne que je numérote.Là, je peux trier cette colonne par ordre décroissant: 5 à 1 (puisqu'il y cinq lettres). De fait ma colonne de lettres sera classée selon mon choix. Sinon, je risque d'avoir carte qui devient acert(par ordre alaphabétique ou treca si on part de l'alphabet inverse), ce que je ne veux pas.
J'espère avoir été un plus clair.
Marsh Posté le 11-06-2006 à 17:36:34
Bonsoir,
J'ai essayé en introduisant un fichier Excel, copier coller des 500 lignes, puis Numérotation, en extension d'une colonne de 1 à n, puis tri décroissant.
Cordialement
Marsh Posté le 11-06-2006 à 17:56:59
Bonsoir,
Tu numérotes sur excel ou sur word? Si tu veux, ce que je souhaite, c'est numéroter ma colonne quelque soit le nombre de lignes. C'est pour cette raison, que je clique sur l'icône Numérotation. Pour tout te dire, je prépare une macro. Sur Excel, je suis obligé de taper 1 dans la 1ère cellule et de faire un copier/déplacer avec appui sur la touche Ctrl. J'ai pas trops compris ton histoire "d'extension d'une colonne de 1 à n".
Marsh Posté le 11-06-2006 à 18:37:01
Bonsoir,
Numérotation sous excel , comme tu l'as fait en mettant 1 dans la première cellule.
Désolé, je voulais dire de 1 à 500 avec la touche ctrl et utilisation de la poignée de recopie.
Une macro sous word? J'avais commencé à regarder, mais je me suis dit que si c'est pour un usage peu fréquent ce serait plus rapide de passer par Excel.
Cordialement
en supposant la chaine de caractères sur une ligne:
Ajouter une ligne vide
surligner la chaine
et lancer la macro:
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 11/06/2006 par seniorPAPOU
'
compteur = Selection.Characters.Count
For c = 1 To compteur
Selection.HomeKey Unit:=wdLine
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Cut
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.HomeKey Unit:=wdLine
Selection.PasteAndFormat (wdPasteDefault)
Selection.MoveUp Unit:=wdLine, Count:=1
Next c
End Sub
Je ne me lance pas trop car cela fait plus de 20 ans que je n'ai pas fait de macro sous Word
Marsh Posté le 11-06-2006 à 20:14:28
Bonsoir,
Merci pour tes efforts
Pour l'instant, je t'avoue que je n'ai pas de résultats. Je regarderai avec plus d'attention. Je te tiens au courant.
Merci encore
Marsh Posté le 12-06-2006 à 20:07:37
Bonsoir seniorpapou
J'ai essayé ton code mais je ne comprends pas ce qu'il est censé faire et comment il doit s'appliquer. Il s'agit bien d'un code à copier sur word (pas sur excel?). J'ai un tableau normal avec Des cellules. Je lance ma macro et j'ai mon caractère qui se trouve dans la cellule A1 qui descend d'une ligne.
Merci
Marsh Posté le 12-06-2006 à 21:04:21
Bonsoir,
D'après ton schéma de départ, tu avais carte écrit à l'horizontal sur une ligne normale de word. Je suis parti de cette configuration, tu écris sur la même ligne word une série de mots, tu rajoutes une ligne vierge , tu surligne la ligne à inverser et tu lances la macro. Sur la ligne du dessous on doit avoir la ligne précédente inversée. J'ai éludé la conversion du texte en tableau.
Ai-je mal compris la question?
Cordialement
edit: c'est bien une macro sous word
Marsh Posté le 13-06-2006 à 07:28:39
Bonjour,
voici la macro qui travaille sur le tableau:
dans le tableau colonne de gauche : les caractères
1 colonne vierge à droite
surligner la colonne de gauche jusqu'au dernier caractère présent
lancer la macro
la deuxième colonne devrait avoir le bon résultat
Cordialement
Sub Macro4()
'
' Macro4 Macro
' Macro enregistrée le 12/06/2006 par SeniorPAPOU
'
total = Selection.Rows.Count
If total > 2 Then
For i = 1 To total
Selection.HomeKey Unit:=wdLine
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.SelectCell
Selection.Copy
Selection.MoveRight Unit:=wdCell, Count:=1
Selection.MoveDown Unit:=wdLine, Count:=total + 1 - 2 * i
Selection.SelectCell
Selection.PasteAndFormat (wdPasteDefault)
Selection.MoveUp Unit:=wdLine, Count:=total - 2 * i
Selection.MoveLeft Unit:=wdCell, Count:=1
Next i
Else
MsgBox ("surlignez avant" )
Exit Sub
End If
End Sub
Marsh Posté le 13-06-2006 à 08:31:33
Bonjour,
Tu as bien compris. J'essaie les codes mais j'ai le message suivant: Erreur de compilation:
Membre de méthode ou de données introuvable avec PasteAndFormat surligné en bleu dans le 1er code et SelectCell surligné en bleu quand j'essaie d'exécuter le second code.
Je m'excuses de t'embêter ainsi.
Merci.
Marsh Posté le 13-06-2006 à 08:54:53
bonjour,
Mon visual basic est de version 6.3
word 2002 sp3
Si c'est le cas pour toi, vérifier dans VB outils -> références
si les ref suivantes sont cochées
Visual Basic For applications
Microsoft Word 10.0 Object Library
Ole Automation
Normal
Microsoft Office 10.0 Object Library
si oui on va avoir un problème dont je ne connais pas la solution
les deux membres se trouvent dans microsoft Word 10.0 object library
cela ne m'embête pas du tout, cela maintient mes neurones en forme
Cordialement
Marsh Posté le 13-06-2006 à 10:15:36
Bonjour,
en relisant tes post's j'ai revu celui-ci
posté à 20h
"J'ai essayé ton code mais je ne comprends pas ce qu'il est censé faire et comment il doit s'appliquer. Il s'agit bien d'un code à copier sur word (pas sur excel?). J'ai un tableau normal avec Des cellules. Je lance ma macro et j'ai mon caractère qui se trouve dans la cellule A1 qui descend d'une ligne. "
Ceci laisse supposer que la macro avait bien été exécutée sans pb pour le pasteandformat.
Y a-t-il deux ordinateurs , un sur le lieu de travail, l'autre au domicile?
Cordialement
Marsh Posté le 13-06-2006 à 12:34:15
Rebonjour,
Toutes mes excuses, j'aurai du le préciser.
Effectivement, j'ai testé les codes sur mon lieu de travail. Pour ce qui est du premier, je l'ai testé chez moi: il n'y a pas de message d'erreur mais je n'ai pas compris l'objecif.
De toute façon, je réessaierai.
Merci encore
Marsh Posté le 13-06-2006 à 15:42:49
bonjour,
ton ordinateur au travail n'est pas configuré comme celui du domicile,
il lui manque le Microsoft Word 10.0 Object Library dans les références.
La 1ère macro inverse tous les caractères d'une ligne word sélectionnée, et les place dans la ligne suivante
par exemple, la ligne ton ordinateur..... devient:
.secneréfér sel snad yrarbiL tcejbO 0.01 droW tfosorciM el euqnam iul li ,elicimod ud iulec emmoc érugifnoc sap tse'n liavart ua ruetanidro not
Précision dans outils options edition décocher couper coller avec gestiondes espaces
Cordialement
Marsh Posté le 13-06-2006 à 19:02:58
Bonsoir
Bon, c'est la mi-temps. Eh ben les enfants, c'est pas gagné.
Bon, juste 2 secondes pour revenir au "taf". Aïe, aïe, aïe. Les références en question sont bien cochées.
Voilà ce que j'obtiens avec ta phrase et après l'exécution de la macro:
i ull iton ordinateur au travail n 'e st pas configuré comme celui du
manque le domicile, Microsoft Word 10.0 Object Library dans les références.
Marsh Posté le 13-06-2006 à 20:23:39
Rebonsoir
Je parle bien de mon ordinateur personnel.
Par contre, j'avais omis d'aller dans Outils/Option/Edition mais ça ne change rien au fond du problème. J'obtiens
il lui manque le
ton ordinateur au travail n'est pas configuré comme celui du domicile, Microsoft Word 10.0 Object Library dans les références.
Marsh Posté le 13-06-2006 à 20:30:56
Bonsoir,
essaies seulement avec la première ligne de la phrase jusqu'à "domicile", pour voir. ne pas oublier de surligner la ligne avant de lancer la macro3 il n'y a pas de test dessus
0 à 0
Marsh Posté le 13-06-2006 à 20:45:07
Rerebonsoir
Impeccable, excellent.
1000 merci. Franchement, t'as fait fort. Chapeau bas.
Marsh Posté le 13-06-2006 à 20:46:33
rerere bonsoir,
ça fonctionne? la macro3 ou la macro4?
Marsh Posté le 13-06-2006 à 20:56:44
Rerererebonsoir
La macro 3 avec la première ligne de la phrase jusqu'à "domicile"
Pour ce qui est de la 4, j'y travaille.
Marsh Posté le 13-06-2006 à 21:14:44
re,
En fait la macro3 n'est prévue que pour travailler que sur une seule ligne word (j'entends par ligne un ensemble de caractère situés sur le même niveau horizontal.). Cet ensemble de caractères doit être surligné pour indiquer à la macro la zône à traiter. la présence d'une ligne vierge en dessous est nécessaire: c'est là que la nouvelle ligne est générée. Rappel:dans outils options edition décocher couper coller avec gestion des espaces . Principe: ligne A au départ, ligne B résultat.
1 posionnement à gauche de A, 2sélection du premier caract. 3couper, 4positionnement à gauche de ligne B, 5 coller , répéter sur la longueur. Il y a probablement plus simple en utilisant les fonctions left right mid
Cordialement
peut-être ça?
Sub Macro5()
compteur = Selection.Characters.Count
montout = Selection.Text
monresultat = ""
For c = 1 To compteur
moncar = Mid(montout, c, 1)
monresultat = moncar + monresultat
Selection.Text = monresultat
Next c
End Sub
Surligner la chaine à transformer, le résultat recouvre l'original. pas beoin d'une deuxième ligne
Marsh Posté le 14-06-2006 à 18:00:33
Bonsoir,
De mieux en mieux. Je constate que tu es un très grand professionnel. Ta macro n° 5 fonctionne parfaitement.
Sincèrement, un très très grand merci.
Marsh Posté le 14-06-2006 à 18:18:56
TAM136 a écrit : Bonsoir, |
je suis rouge de confusion , quand je pense qu'ils m'ont mis à la retraite il y a dix ans, quel gâchis pour la France!!
Marsh Posté le 14-06-2006 à 18:36:01
Oh que oui!!!
Devine quoi? Tu a résolu de A à Z mon problème! Puisque du coup, je n'ai plus besoin de me casser la tête (surtout de casser la tienne) avec mon histoire de numérotation.
J'abuse si je te demande de venir à ma rescousse pour deux autres posts, (honte au profiteur que je suis). Ce n'est pas forcément des macros qui peuvent apporter des solutions. D'ailleurs, je pense que pour un des posts, il n'existe pas de solution.
Marsh Posté le 14-06-2006 à 19:59:14
Rebonsoir,
Le premier date du 31 mai 2006
Il s'appelle:
[Word] Hauteur maximum des lignes du tableau
C'est celui pour lequel je pense qu'il n'existe pas de solution.
Le second, je le reposte.
Merci
Marsh Posté le 11-06-2006 à 12:38:14
Bonjour tout le monde
J'ai un tableau word classique. J'ajoute une colonne. Je clique sur l'icône Numérotation.Chaque ligne est comptée. Jusque là, je n'ai aucun souci. Mon problème est que je veux ensuite une numérotation décroissante: paser de 1 2 3....50 à 50....1.
Si je numérote manuellement les lignes, c'est-à-dire en saisissant un par les n°: je tape 1 dans la cellule A1, je me dépalce dans la celulle A2 où je tape 2, etc... et qu'ensuite je vais dans Tableau/Trier/1ère clé: colonne 1/Type numérique décroissant/OK, j'ai bien une numérotation décroissante.
Par contre, si je clique sur l'icône Numérotation et qu'ensuite je vais dans Tableau/Trier..., je n'ai aucun résultat. Le problème est que si j'ai 500 lignes, je ne vais pas saisir manuellemment 1.......500.
Je suis allé dans Format/Puces et Numéros sans succès.
Merci par avance
Message édité par TAM136 le 15-06-2006 à 08:51:46