et bien pour être cahotique, il l'est !
j'ai testé, cela fonctionne et tronque bien le titre en prenant que les 5
premiers car MAIS du premier mot, donc je me retrouve avec évidemment un
dysfonctionnement de la macro qui trouve des noms de feuilles similaires !
d'autre part je vais me heurter à de nouveaux problèmes encore sur ce
fichier, aussi, il faut que je redétaille les besoins précis et vois comment
essayer de m'en sortir avec ce fichu fichier
le but est de pouvoir intégrer dans une autre appli le fichier articles (+
de 1000 refs) mais détaillé suivant 3 critères qui évidemment dans le fichier
articles sont tous les uns à la suite des autres dans la famille !
je pensais m'en tirer en créant des feuilles par famille, puis en mettant en
place d'autres macros pour redétailler les autres critères, mais je
m'aperçois que cette solution n'est pas la bonne,
je vais essayer par des classeurs différents en créant un classeur par
famille, puis une feuille par critère
c'est pas encore gagné ! mais si j'y arrive cela évitera la resaisie (avec
tous les risques d'erreur que cela comporte) de + de 1000 articles dans une
autre appli
voilà tu sais tout ou presque de mes aventures macrobiotiques !
je te remercie beaucoup pour toute l'aide que tu m'as apportée
elle m'est très précieuse crois moi
A+
et bien pour être cahotique, il l'est !
j'ai testé, cela fonctionne et tronque bien le titre en prenant que les 5
premiers car MAIS du premier mot, donc je me retrouve avec évidemment un
dysfonctionnement de la macro qui trouve des noms de feuilles similaires !
d'autre part je vais me heurter à de nouveaux problèmes encore sur ce
fichier, aussi, il faut que je redétaille les besoins précis et vois comment
essayer de m'en sortir avec ce fichu fichier
le but est de pouvoir intégrer dans une autre appli le fichier articles (+
de 1000 refs) mais détaillé suivant 3 critères qui évidemment dans le fichier
articles sont tous les uns à la suite des autres dans la famille !
je pensais m'en tirer en créant des feuilles par famille, puis en mettant en
place d'autres macros pour redétailler les autres critères, mais je
m'aperçois que cette solution n'est pas la bonne,
je vais essayer par des classeurs différents en créant un classeur par
famille, puis une feuille par critère
c'est pas encore gagné ! mais si j'y arrive cela évitera la resaisie (avec
tous les risques d'erreur que cela comporte) de + de 1000 articles dans une
autre appli
voilà tu sais tout ou presque de mes aventures macrobiotiques !
je te remercie beaucoup pour toute l'aide que tu m'as apportée
elle m'est très précieuse crois moi
A+
et bien pour être cahotique, il l'est !
j'ai testé, cela fonctionne et tronque bien le titre en prenant que les 5
premiers car MAIS du premier mot, donc je me retrouve avec évidemment un
dysfonctionnement de la macro qui trouve des noms de feuilles similaires !
d'autre part je vais me heurter à de nouveaux problèmes encore sur ce
fichier, aussi, il faut que je redétaille les besoins précis et vois comment
essayer de m'en sortir avec ce fichu fichier
le but est de pouvoir intégrer dans une autre appli le fichier articles (+
de 1000 refs) mais détaillé suivant 3 critères qui évidemment dans le fichier
articles sont tous les uns à la suite des autres dans la famille !
je pensais m'en tirer en créant des feuilles par famille, puis en mettant en
place d'autres macros pour redétailler les autres critères, mais je
m'aperçois que cette solution n'est pas la bonne,
je vais essayer par des classeurs différents en créant un classeur par
famille, puis une feuille par critère
c'est pas encore gagné ! mais si j'y arrive cela évitera la resaisie (avec
tous les risques d'erreur que cela comporte) de + de 1000 articles dans une
autre appli
voilà tu sais tout ou presque de mes aventures macrobiotiques !
je te remercie beaucoup pour toute l'aide que tu m'as apportée
elle m'est très précieuse crois moi
A+
Avec un petit effort, tu aurais pu lui pondre une fonction
qui tienne compte :
A ) nombre de caractères à retenir
B ) exclure du nom tous les caractères interdits
C ) s'assurer que le nom retenu n'est pas en doublon
avec un des noms d'onglet assigné dans le classeur
;-))
"FFO" a écrit dans le message de news:
Rebonjour Françoise
Ce fichier est vraiment cahotique ne crois tu pas ????
On ne pourras pas demander à Excel d'accepter des noms dépassant la limite
(31 caractère)
Par contre on peux essayer de s'adapter
Il faut d'abord déterminer le nombre de caractères acceptables
Puis jouer sur la ligne :
Sheets.Add.Name = Range("B1").Offset(i, 0)
En la modifiant ainsi :
Sheets.Add.Name = Mid(Range("B1").Offset(i, 0),1,5)
Ce qui indique à Excel de renomer la feuille crée avec une partie du nom de
la cellule en caractère gras désignée par le chiffre 1 indiquant de prendre
le 1° caractère et le chiffre 5 indiquant de prendre 5 caractères à partir du
1° du nom
Tu limites ainsi le nombre de caractère (à 5 dans cet exemple)
A toi donc de déterminer à la fois la position du 1° caractère (chiffre 1
dans cet exemple) et le nombre de caractères à prendre (chiffre 5 dans cet
exemple)
Une fois les chiffres déterminés il faut modifier aussi la ligne :
Nom = Range("B1").Offset(i, 0)
en prenant le même exemple ainsi :
Nom = Mid(Range("B1").Offset(i, 0), 1, 5)
Et celà normalement devrait fonctionner
Tiens moi informé !!!!Bonjour FFO,
Encore une fois, merci car cela fonctionne merveilleusement bien
MAIS
décidément je me demande si je vais arriver à m'en sortir de ce fichier
m.......
car la macro butte dès qu'elle rencontre un nom de famille qui excède 31
car, là VBA me dit qu'il lui est impossible de créer une feuille avec un nom
dépassant 31 car, or j'ai regardé et vu que j'avais des familles qui
comptaient jusqu'à 45 car
crois tu qu'il soit possible de forcer le nombre de car pour le nommage de
feuille ?
ou dois-je d'abord modifier toutes les familles dont les noms excèdent 31
car manuellement, ce qui ne sera pas facile car les noms ne correspondront
plus au détail de la famille à créer
qu'en penses-tu ?
Avec un petit effort, tu aurais pu lui pondre une fonction
qui tienne compte :
A ) nombre de caractères à retenir
B ) exclure du nom tous les caractères interdits
C ) s'assurer que le nom retenu n'est pas en doublon
avec un des noms d'onglet assigné dans le classeur
;-))
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
547D36EC-54AF-49A2-B315-60ACD16C66E3@microsoft.com...
Rebonjour Françoise
Ce fichier est vraiment cahotique ne crois tu pas ????
On ne pourras pas demander à Excel d'accepter des noms dépassant la limite
(31 caractère)
Par contre on peux essayer de s'adapter
Il faut d'abord déterminer le nombre de caractères acceptables
Puis jouer sur la ligne :
Sheets.Add.Name = Range("B1").Offset(i, 0)
En la modifiant ainsi :
Sheets.Add.Name = Mid(Range("B1").Offset(i, 0),1,5)
Ce qui indique à Excel de renomer la feuille crée avec une partie du nom de
la cellule en caractère gras désignée par le chiffre 1 indiquant de prendre
le 1° caractère et le chiffre 5 indiquant de prendre 5 caractères à partir du
1° du nom
Tu limites ainsi le nombre de caractère (à 5 dans cet exemple)
A toi donc de déterminer à la fois la position du 1° caractère (chiffre 1
dans cet exemple) et le nombre de caractères à prendre (chiffre 5 dans cet
exemple)
Une fois les chiffres déterminés il faut modifier aussi la ligne :
Nom = Range("B1").Offset(i, 0)
en prenant le même exemple ainsi :
Nom = Mid(Range("B1").Offset(i, 0), 1, 5)
Et celà normalement devrait fonctionner
Tiens moi informé !!!!
Bonjour FFO,
Encore une fois, merci car cela fonctionne merveilleusement bien
MAIS
décidément je me demande si je vais arriver à m'en sortir de ce fichier
m.......
car la macro butte dès qu'elle rencontre un nom de famille qui excède 31
car, là VBA me dit qu'il lui est impossible de créer une feuille avec un nom
dépassant 31 car, or j'ai regardé et vu que j'avais des familles qui
comptaient jusqu'à 45 car
crois tu qu'il soit possible de forcer le nombre de car pour le nommage de
feuille ?
ou dois-je d'abord modifier toutes les familles dont les noms excèdent 31
car manuellement, ce qui ne sera pas facile car les noms ne correspondront
plus au détail de la famille à créer
qu'en penses-tu ?
Avec un petit effort, tu aurais pu lui pondre une fonction
qui tienne compte :
A ) nombre de caractères à retenir
B ) exclure du nom tous les caractères interdits
C ) s'assurer que le nom retenu n'est pas en doublon
avec un des noms d'onglet assigné dans le classeur
;-))
"FFO" a écrit dans le message de news:
Rebonjour Françoise
Ce fichier est vraiment cahotique ne crois tu pas ????
On ne pourras pas demander à Excel d'accepter des noms dépassant la limite
(31 caractère)
Par contre on peux essayer de s'adapter
Il faut d'abord déterminer le nombre de caractères acceptables
Puis jouer sur la ligne :
Sheets.Add.Name = Range("B1").Offset(i, 0)
En la modifiant ainsi :
Sheets.Add.Name = Mid(Range("B1").Offset(i, 0),1,5)
Ce qui indique à Excel de renomer la feuille crée avec une partie du nom de
la cellule en caractère gras désignée par le chiffre 1 indiquant de prendre
le 1° caractère et le chiffre 5 indiquant de prendre 5 caractères à partir du
1° du nom
Tu limites ainsi le nombre de caractère (à 5 dans cet exemple)
A toi donc de déterminer à la fois la position du 1° caractère (chiffre 1
dans cet exemple) et le nombre de caractères à prendre (chiffre 5 dans cet
exemple)
Une fois les chiffres déterminés il faut modifier aussi la ligne :
Nom = Range("B1").Offset(i, 0)
en prenant le même exemple ainsi :
Nom = Mid(Range("B1").Offset(i, 0), 1, 5)
Et celà normalement devrait fonctionner
Tiens moi informé !!!!Bonjour FFO,
Encore une fois, merci car cela fonctionne merveilleusement bien
MAIS
décidément je me demande si je vais arriver à m'en sortir de ce fichier
m.......
car la macro butte dès qu'elle rencontre un nom de famille qui excède 31
car, là VBA me dit qu'il lui est impossible de créer une feuille avec un nom
dépassant 31 car, or j'ai regardé et vu que j'avais des familles qui
comptaient jusqu'à 45 car
crois tu qu'il soit possible de forcer le nombre de car pour le nommage de
feuille ?
ou dois-je d'abord modifier toutes les familles dont les noms excèdent 31
car manuellement, ce qui ne sera pas facile car les noms ne correspondront
plus au détail de la famille à créer
qu'en penses-tu ?
Avec un petit effort, tu aurais pu lui pondre une fonction
qui tienne compte :
A ) nombre de caractères à retenir
B ) exclure du nom tous les caractères interdits
C ) s'assurer que le nom retenu n'est pas en doublon
avec un des noms d'onglet assigné dans le classeur
;-))
"FFO" a écrit dans le message de news:
Rebonjour Françoise
Ce fichier est vraiment cahotique ne crois tu pas ????
On ne pourras pas demander à Excel d'accepter des noms dépassant la limite
(31 caractère)
Par contre on peux essayer de s'adapter
Il faut d'abord déterminer le nombre de caractères acceptables
Puis jouer sur la ligne :
Sheets.Add.Name = Range("B1").Offset(i, 0)
En la modifiant ainsi :
Sheets.Add.Name = Mid(Range("B1").Offset(i, 0),1,5)
Ce qui indique à Excel de renomer la feuille crée avec une partie du nom de
la cellule en caractère gras désignée par le chiffre 1 indiquant de prendre
le 1° caractère et le chiffre 5 indiquant de prendre 5 caractères à partir du
1° du nom
Tu limites ainsi le nombre de caractère (à 5 dans cet exemple)
A toi donc de déterminer à la fois la position du 1° caractère (chiffre 1
dans cet exemple) et le nombre de caractères à prendre (chiffre 5 dans cet
exemple)
Une fois les chiffres déterminés il faut modifier aussi la ligne :
Nom = Range("B1").Offset(i, 0)
en prenant le même exemple ainsi :
Nom = Mid(Range("B1").Offset(i, 0), 1, 5)
Et celà normalement devrait fonctionner
Tiens moi informé !!!!Bonjour FFO,
Encore une fois, merci car cela fonctionne merveilleusement bien
MAIS
décidément je me demande si je vais arriver à m'en sortir de ce fichier
m.......
car la macro butte dès qu'elle rencontre un nom de famille qui excède 31
car, là VBA me dit qu'il lui est impossible de créer une feuille avec un nom
dépassant 31 car, or j'ai regardé et vu que j'avais des familles qui
comptaient jusqu'à 45 car
crois tu qu'il soit possible de forcer le nombre de car pour le nommage de
feuille ?
ou dois-je d'abord modifier toutes les familles dont les noms excèdent 31
car manuellement, ce qui ne sera pas facile car les noms ne correspondront
plus au détail de la famille à créer
qu'en penses-tu ?
Avec un petit effort, tu aurais pu lui pondre une fonction
qui tienne compte :
A ) nombre de caractères à retenir
B ) exclure du nom tous les caractères interdits
C ) s'assurer que le nom retenu n'est pas en doublon
avec un des noms d'onglet assigné dans le classeur
;-))
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
547D36EC-54AF-49A2-B315-60ACD16C66E3@microsoft.com...
Rebonjour Françoise
Ce fichier est vraiment cahotique ne crois tu pas ????
On ne pourras pas demander à Excel d'accepter des noms dépassant la limite
(31 caractère)
Par contre on peux essayer de s'adapter
Il faut d'abord déterminer le nombre de caractères acceptables
Puis jouer sur la ligne :
Sheets.Add.Name = Range("B1").Offset(i, 0)
En la modifiant ainsi :
Sheets.Add.Name = Mid(Range("B1").Offset(i, 0),1,5)
Ce qui indique à Excel de renomer la feuille crée avec une partie du nom de
la cellule en caractère gras désignée par le chiffre 1 indiquant de prendre
le 1° caractère et le chiffre 5 indiquant de prendre 5 caractères à partir du
1° du nom
Tu limites ainsi le nombre de caractère (à 5 dans cet exemple)
A toi donc de déterminer à la fois la position du 1° caractère (chiffre 1
dans cet exemple) et le nombre de caractères à prendre (chiffre 5 dans cet
exemple)
Une fois les chiffres déterminés il faut modifier aussi la ligne :
Nom = Range("B1").Offset(i, 0)
en prenant le même exemple ainsi :
Nom = Mid(Range("B1").Offset(i, 0), 1, 5)
Et celà normalement devrait fonctionner
Tiens moi informé !!!!
Bonjour FFO,
Encore une fois, merci car cela fonctionne merveilleusement bien
MAIS
décidément je me demande si je vais arriver à m'en sortir de ce fichier
m.......
car la macro butte dès qu'elle rencontre un nom de famille qui excède 31
car, là VBA me dit qu'il lui est impossible de créer une feuille avec un nom
dépassant 31 car, or j'ai regardé et vu que j'avais des familles qui
comptaient jusqu'à 45 car
crois tu qu'il soit possible de forcer le nombre de car pour le nommage de
feuille ?
ou dois-je d'abord modifier toutes les familles dont les noms excèdent 31
car manuellement, ce qui ne sera pas facile car les noms ne correspondront
plus au détail de la famille à créer
qu'en penses-tu ?
Avec un petit effort, tu aurais pu lui pondre une fonction
qui tienne compte :
A ) nombre de caractères à retenir
B ) exclure du nom tous les caractères interdits
C ) s'assurer que le nom retenu n'est pas en doublon
avec un des noms d'onglet assigné dans le classeur
;-))
"FFO" a écrit dans le message de news:
Rebonjour Françoise
Ce fichier est vraiment cahotique ne crois tu pas ????
On ne pourras pas demander à Excel d'accepter des noms dépassant la limite
(31 caractère)
Par contre on peux essayer de s'adapter
Il faut d'abord déterminer le nombre de caractères acceptables
Puis jouer sur la ligne :
Sheets.Add.Name = Range("B1").Offset(i, 0)
En la modifiant ainsi :
Sheets.Add.Name = Mid(Range("B1").Offset(i, 0),1,5)
Ce qui indique à Excel de renomer la feuille crée avec une partie du nom de
la cellule en caractère gras désignée par le chiffre 1 indiquant de prendre
le 1° caractère et le chiffre 5 indiquant de prendre 5 caractères à partir du
1° du nom
Tu limites ainsi le nombre de caractère (à 5 dans cet exemple)
A toi donc de déterminer à la fois la position du 1° caractère (chiffre 1
dans cet exemple) et le nombre de caractères à prendre (chiffre 5 dans cet
exemple)
Une fois les chiffres déterminés il faut modifier aussi la ligne :
Nom = Range("B1").Offset(i, 0)
en prenant le même exemple ainsi :
Nom = Mid(Range("B1").Offset(i, 0), 1, 5)
Et celà normalement devrait fonctionner
Tiens moi informé !!!!Bonjour FFO,
Encore une fois, merci car cela fonctionne merveilleusement bien
MAIS
décidément je me demande si je vais arriver à m'en sortir de ce fichier
m.......
car la macro butte dès qu'elle rencontre un nom de famille qui excède 31
car, là VBA me dit qu'il lui est impossible de créer une feuille avec un nom
dépassant 31 car, or j'ai regardé et vu que j'avais des familles qui
comptaient jusqu'à 45 car
crois tu qu'il soit possible de forcer le nombre de car pour le nommage de
feuille ?
ou dois-je d'abord modifier toutes les familles dont les noms excèdent 31
car manuellement, ce qui ne sera pas facile car les noms ne correspondront
plus au détail de la famille à créer
qu'en penses-tu ?
Bon, ça ne marche pas mieux, car comme cela tronque les mots, la macro ne
trouve plus les lignes liées au nom de la feuille
ex :
nom de la famille (texte en gras dans mon fichier article) FEUX VERSION
CHANDELLES
La macro créé la feuille FEUX
là elle copie bien les lignes articles correspondantes
deuxième famille : FEUX VERSION BOMBES
La macro bloque car elle veut recréé la feuille FEUX
troisième famille : FEUX VERSION BOMBES CONFORT
bon tu vois on est pas sortis de l'auberge !
il faut que je réfléchisse à une meilleure solution si toutefois il en
existe une
je te remercie de ta disponibilité
j'arrête pour ce soir, je regarderai cela demain avec peut être un oeil neuf !
bonne soirée
Françoise
Bon, ça ne marche pas mieux, car comme cela tronque les mots, la macro ne
trouve plus les lignes liées au nom de la feuille
ex :
nom de la famille (texte en gras dans mon fichier article) FEUX VERSION
CHANDELLES
La macro créé la feuille FEUX
là elle copie bien les lignes articles correspondantes
deuxième famille : FEUX VERSION BOMBES
La macro bloque car elle veut recréé la feuille FEUX
troisième famille : FEUX VERSION BOMBES CONFORT
bon tu vois on est pas sortis de l'auberge !
il faut que je réfléchisse à une meilleure solution si toutefois il en
existe une
je te remercie de ta disponibilité
j'arrête pour ce soir, je regarderai cela demain avec peut être un oeil neuf !
bonne soirée
Françoise
Bon, ça ne marche pas mieux, car comme cela tronque les mots, la macro ne
trouve plus les lignes liées au nom de la feuille
ex :
nom de la famille (texte en gras dans mon fichier article) FEUX VERSION
CHANDELLES
La macro créé la feuille FEUX
là elle copie bien les lignes articles correspondantes
deuxième famille : FEUX VERSION BOMBES
La macro bloque car elle veut recréé la feuille FEUX
troisième famille : FEUX VERSION BOMBES CONFORT
bon tu vois on est pas sortis de l'auberge !
il faut que je réfléchisse à une meilleure solution si toutefois il en
existe une
je te remercie de ta disponibilité
j'arrête pour ce soir, je regarderai cela demain avec peut être un oeil neuf !
bonne soirée
Françoise