OVH Cloud OVH Cloud

aide macro

9 réponses
Avatar
Bégé
Salut à tous,

j'ai un tableau issu d'une base de données qui se présente comme ceci :

A1 = numero
comporte des numéros comme 1, 2,3,4,5 etc.
B1= nom objet
C1= remarques
D1= famille_contenu
E1= sous-famille_contenu
F1= origine_contenu
G1= etat_contenu
H1= date_entrée
sous la forme 25/09/2004
I1= image
J1= dimensions
K1= stockage

et je voudrais créer une macro qui donnerait un numéro comme ceci :
OA1D0203 (par exemple dans une nouvelle colonne insérée en A1 ou
dans la colonne numero en remplacement des n° existants)
explications :
O = la première lettre de la colonne "famille_contenu" (ici Outillage)
A = la première lettre de la colonne "sous-famille_contenu"(ici agricole)
1 = le numéro contenu dans la colonne "numero" (ici n° 1)
0203= le mois et l'année contenu dans la colonne "date_entrée" (ici février
2003)

merci de votre aide

9 réponses

Avatar
ru-th
Salut

par fonction en j1
=stxt(d1;1;)&stxt(e1;1;1)&a1&texte(h1;"mmaa")
a+
rural thierry

"Bégé" a écrit dans le message de news:

Salut à tous,

j'ai un tableau issu d'une base de données qui se présente comme ceci :

A1 = numero
comporte des numéros comme 1, 2,3,4,5 etc.
B1= nom objet
C1= remarques
D1= famille_contenu
E1= sous-famille_contenu
F1= origine_contenu
G1= etat_contenu
H1= date_entrée
sous la forme 25/09/2004
I1= image
J1= dimensions
K1= stockage

et je voudrais créer une macro qui donnerait un numéro comme ceci :
OA1D0203 (par exemple dans une nouvelle colonne insérée en A1 ou
dans la colonne numero en remplacement des n° existants)
explications :
O = la première lettre de la colonne "famille_contenu" (ici Outillage)
A = la première lettre de la colonne "sous-famille_contenu"(ici agricole)
1 = le numéro contenu dans la colonne "numero" (ici n° 1)
0203= le mois et l'année contenu dans la colonne "date_entrée" (ici
février

2003)

merci de votre aide




Avatar
LeSteph
Bonjour,
O = la première lettre de la colonne "famille_contenu" (ici Outillage)
A = la première lettre de la colonne "sous-famille_contenu"(ici agricole)
1 = le numéro contenu dans la colonne "numero" (ici n° 1)
0203= le mois et l'année contenu dans la colonne "date_entrée" (ici
février
2003)


Une macro t'obligerait à utiliser un évènement ou à cliquer
pour l résultat donc pourquoi pas une formule
Pour le num index en colonne A ATTention si tu as plus de 9 outils
je mets format 000 (s'il y en a moins de 999)et le tiret c'est pour séparer
num de date
mais tu peux enlever &"-"


à entrer en L2 et recopier vers le bas:

=STXT(D2;1;1)&STXT(E2;1;1)&TEXTE(A2;"000")&"-"&TEXTE(H2;"mmaa")

lSteph

"Bégé" a écrit dans le message de news:

Salut à tous,

j'ai un tableau issu d'une base de données qui se présente comme ceci :

A1 = numero
comporte des numéros comme 1, 2,3,4,5 etc.
B1= nom objet
C1= remarques
D1= famille_contenu
E1= sous-famille_contenu
F1= origine_contenu
G1= etat_contenu
H1= date_entrée
sous la forme 25/09/2004
I1= image
J1= dimensions
K1= stockage

et je voudrais créer une macro qui donnerait un numéro comme ceci :
OA1D0203 (par exemple dans une nouvelle colonne insérée en A1 ou
dans la colonne numero en remplacement des n° existants)
explications :
O = la première lettre de la colonne "famille_contenu" (ici Outillage)
A = la première lettre de la colonne "sous-famille_contenu"(ici agricole)
1 = le numéro contenu dans la colonne "numero" (ici n° 1)
0203= le mois et l'année contenu dans la colonne "date_entrée" (ici
février
2003)

merci de votre aide




Avatar
Bégé
Une macro t'obligerait à utiliser un évènement ou à cliquer
pour l résultat donc pourquoi pas une formule
c'est vrain je n'avais pas pensé à ça mais c'est une bonne idée


Pour le num index en colonne A ATTention si tu as plus de 9 outils
je mets format 000 (s'il y en a moins de 999)et le tiret c'est pour
séparer

num de date
mais tu peux enlever &"-"


à entrer en L2 et recopier vers le bas:

=STXT(D2;1;1)&STXT(E2;1;1)&TEXTE(A2;"000")&"-"&TEXTE(H2;"mmaa")


il y a qq chose qui cloche,
j'ai mis la page ici :
http://www.rouhling.net/AMAT.htm

Avatar
Bégé
par fonction en j1
euh, pourquoi en J1?

j'ai des données dans cette colonne "dimensions"
mais j'ai essayé en L1 de mettre cette formule
=stxt(d1;1;)&stxt(e1;1;1)&a1&texte(h1;"mmaa")
il manque la première lettre de la colonne "famille_contenu"

et la première lettre de la colonne "origine_contenu"

Avatar
Bégé
il y a qq chose qui cloche,
j'ai mis la page ici :
http://www.rouhling.net/AMAT.htm


en fait j'avais mis la formule en L1 et pas en L2 comme tu me l'avais dit
j'ai rectifié ça et ça fonctionne, j'ai vu qu'il manquait la première lettre
de
la colonne "origine_contenu" et j'ai fais ça :
=STXT(D2;1;1)&STXT(E2;1;1)&STXT(F2;1;1)&TEXTE(A2;"000")&"-"&TEXTE(H2;"mmaa")

et maintenant ça fonctionne,

un petit problème toutefois, c'est que ce tableau est issu d'une exportation
d'une base de données vers un fichier Excel, et il sera mis à jour
régulièrement,
je serais donc obligé de remettre la formule à chaque fois,
c'est surtout pour ça que je pensais au début de faire une macro
dans le classeur de macros personnelles et la déclencher avec un bouton
dans la barre d'outils
à moins qu'il n'y ait une autre possibilité?

merci de votre patience

Avatar
Bégé
Pour le num index en colonne A ATTention si tu as plus de 9 outils
je mets format 000 (s'il y en a moins de 999)
ok, mais ne peut on pas éviter d'afficher les zéros dans le résultat?

par exemple :
CDD1-0904
au lieu de :
CDD001-0904

Avatar
LeSteph
Bonsoir,

Si par suite tu veux réutiliser
les possibilités de stxt ou retouver le référencement
structuré que tu obtiens par concaténation il te sera
plus facile de le faire avec un Numéro type comprenant toujours la même
taille
soit la même position dans la chaîne de chaque élément.
Maintenant si tu y tiens malgré tout tu peux modifier la formule.
Texte(expression;format) ou la supprimer
ainsi
TEXTE(A2;"000")
remplacé par
A2
mais tant pis...
sinon
il me semble que Thierry t'a aussi donné une réponse...

m....


égé" a écrit dans le message de news:
%

Pour le num index en colonne A ATTention si tu as plus de 9 outils
je mets format 000 (s'il y en a moins de 999)
ok, mais ne peut on pas éviter d'afficher les zéros dans le résultat?

par exemple :
CDD1-0904
au lieu de :
CDD001-0904






Avatar
Bégé
Si par suite tu veux réutiliser
les possibilités de stxt ou retouver le référencement
structuré que tu obtiens par concaténation il te sera
plus facile de le faire avec un Numéro type comprenant toujours la même
taille
ah d'accord,


soit la même position dans la chaîne de chaque élément.
Maintenant si tu y tiens malgré tout tu peux modifier la formule.
Texte(expression;format) ou la supprimer
ainsi
TEXTE(A2;"000")
remplacé par
A2
bon, je vais juste essayer pour voir ce que ça donne, mais je garderai la

première
solution

.
sinon
il me semble que Thierry t'a aussi donné une réponse...
oui, j'ai répondu,


et autrement pour mon autre question que j'avais posée?
un petit problème toutefois, c'est que ce tableau est issu d'une exportation
d'une base de données vers un fichier Excel, et il sera mis à jour
régulièrement,
je serais donc obligé de remettre la formule à chaque fois,
c'est surtout pour ça que je pensais au début de faire une macro
dans le classeur de macros personnelles et la déclencher avec un bouton
dans la barre d'outils
à moins qu'il n'y ait une autre possibilité?

merci

Avatar
LeSteph
re Bonsoir,
Si tulemets à jour depuis une BDD par le menu
données actualiser place ta formule à l'extrêmité droite de ta table de
données
mais bien attenant et avec un titre et choisis l'option pour étendre les
formules
recopier les données dans les formules voisines (coché).

lSteph

"Bégé" a écrit dans le message de news:
%

Si par suite tu veux réutiliser
les possibilités de stxt ou retouver le référencement
structuré que tu obtiens par concaténation il te sera
plus facile de le faire avec un Numéro type comprenant toujours la même
taille
ah d'accord,


soit la même position dans la chaîne de chaque élément.
Maintenant si tu y tiens malgré tout tu peux modifier la formule.
Texte(expression;format) ou la supprimer
ainsi
TEXTE(A2;"000")
remplacé par
A2
bon, je vais juste essayer pour voir ce que ça donne, mais je garderai la

première
solution

.
sinon
il me semble que Thierry t'a aussi donné une réponse...
oui, j'ai répondu,


et autrement pour mon autre question que j'avais posée?
un petit problème toutefois, c'est que ce tableau est issu d'une
exportation
d'une base de données vers un fichier Excel, et il sera mis à jour
régulièrement,
je serais donc obligé de remettre la formule à chaque fois,
c'est surtout pour ça que je pensais au début de faire une macro
dans le classeur de macros personnelles et la déclencher avec un bouton
dans la barre d'outils
à moins qu'il n'y ait une autre possibilité?

merci