Insertion automatique et conditionnelle d'une
Résolu/Fermé
Robocopp
Messages postés
159
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
1 septembre 2022
-
14 oct. 2011 à 17:10
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 29 oct. 2011 à 18:05
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 29 oct. 2011 à 18:05
A voir également:
- Insertion automatique et conditionnelle d'une
- Mise en forme conditionnelle excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Message automatique thunderbird - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
4 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 14/10/2011 à 17:24
Modifié par Patrice33740 le 14/10/2011 à 17:24
Non, une ligne vide dans une base de données signifie que la base de données est terminée. Pour rester généraliste, il faut éviter toute fioriture inutile dans les bases de données (lignes inutiles, fusion de cellules, formats spéciaux, ...)
Patrice
Patrice
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
15 oct. 2011 à 14:09
15 oct. 2011 à 14:09
Bonjour,
Une proposition suite à tes explications.
Une macro pour mettre les XXXX, une pour les enlever.
Au début 3 constantes pour adapter à ta feuille.
Saisir 0 dans l'inputbox pour quitter la macro sans insérer.
A mettre dans la feuille concernée
eric
Une proposition suite à tes explications.
Une macro pour mettre les XXXX, une pour les enlever.
Au début 3 constantes pour adapter à ta feuille.
Saisir 0 dans l'inputbox pour quitter la macro sans insérer.
Option Explicit Const nbColAdr As Long = 5 ' nombre de colonnes à remplir avec le motif Const motif As String = "XXXXX" ' motif Const ligneDeTitre = 1 ' nombre de lignes de titre de colonne Sub insertXXXXX() Dim nb As Long, lig As Long nb = Application.InputBox(Title:="Saisir le nombre d'exemplaires à regrouper", prompt:="Taille des liasses", Type:=1) Application.ScreenUpdating = False While lig < [A65536].End(xlUp).Row If nb > 0 Then lig = lig + nb + 1 + IIf(lig < nb, ligneDeTitre, 0) Rows(lig).Insert Shift:=xlDown Cells(lig, 1).Resize(1, nbColAdr) = motif End If Wend Application.ScreenUpdating = True End Sub Sub suppXXXXX() Dim lig As Long Application.ScreenUpdating = False For lig = [A65536].End(xlUp).Row To 2 Step -1 If Cells(lig, 1) = motif Then Rows(lig).Delete Shift:=xlUp Next lig Application.ScreenUpdating = True End Sub
A mettre dans la feuille concernée
eric
Robocopp
Messages postés
159
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
1 septembre 2022
2
Modifié par Robocopp le 17/10/2011 à 21:33
Modifié par Robocopp le 17/10/2011 à 21:33
Bonjour Eriiic,
Merci pour ta réponse tu es la preuve s'il en fallait une que je ne joue pas dans la même division que toi, Patrice et beaucoup d'autres sur ce forum.
En effet, je n'y connais rien en macros, je ne sais même pas où il faudrait copier ce que tu m'envoies,ni ce que ça peut donner.
Je suis désolé de t'avoir fait perdre ton temps, en fait, je suis vraiment une grosse buse qui demande de l'aide et qui éconduit les gens sympas qui lui répondent.
Vraiment, je suis désolé, mais je te remercie d'avoir passé du temps à te pencher sur ce problème. Je pense que je vais essayer la proposition de Patrice qui me parle mieux.
J'espère que tu ne m'en voudras pas.
Cordialement.
Merci pour ta réponse tu es la preuve s'il en fallait une que je ne joue pas dans la même division que toi, Patrice et beaucoup d'autres sur ce forum.
En effet, je n'y connais rien en macros, je ne sais même pas où il faudrait copier ce que tu m'envoies,ni ce que ça peut donner.
Je suis désolé de t'avoir fait perdre ton temps, en fait, je suis vraiment une grosse buse qui demande de l'aide et qui éconduit les gens sympas qui lui répondent.
Vraiment, je suis désolé, mais je te remercie d'avoir passé du temps à te pencher sur ce problème. Je pense que je vais essayer la proposition de Patrice qui me parle mieux.
J'espère que tu ne m'en voudras pas.
Cordialement.
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
17 oct. 2011 à 22:00
17 oct. 2011 à 22:00
Bonjour,
Pas de problème comme patrice a réussi par formule (solution maligne ;-) )
Un fichier exemple quand même pour la macro :
http://www.cijoint.fr/cjlink.php?file=cj201110/cijeFkogP5.xls
clic-droit sur le nom d'onglet en bas (Feuil1) et choisir 'visualiser le code' pour accéder à la macro.
eric
Pas de problème comme patrice a réussi par formule (solution maligne ;-) )
Un fichier exemple quand même pour la macro :
http://www.cijoint.fr/cjlink.php?file=cj201110/cijeFkogP5.xls
clic-droit sur le nom d'onglet en bas (Feuil1) et choisir 'visualiser le code' pour accéder à la macro.
eric
Robocopp
Messages postés
159
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
1 septembre 2022
2
19 oct. 2011 à 19:51
19 oct. 2011 à 19:51
Merci Eriic,
Je crois que je vais essayer de m'y mettre.
À bientôt j'espère
Bien Cordialement
Je crois que je vais essayer de m'y mettre.
À bientôt j'espère
Bien Cordialement
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
15 oct. 2011 à 22:27
15 oct. 2011 à 22:27
Avec tes explications, je comprends mieux le problème, sans macro c'est aussi possible en utilisant la fonction tri, pour 1000 à 2000 adresses ça peux aller, mais pour 50 à 60000 adresses les temps de calcul et de tri deviennent gigantesques (plusieurs dizaines de minutes).
Voici un exemple :
https://www.cjoint.com/?AJpwAOUPNjz
Dans ce cas, la meilleure solution pour insérer les lignes de X est d'utiliser une macro.
Voici un exemple :
https://www.cjoint.com/?AJpwAOUPNjz
Dans ce cas, la meilleure solution pour insérer les lignes de X est d'utiliser une macro.
Robocopp
Messages postés
159
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
1 septembre 2022
2
Modifié par Robocopp le 17/10/2011 à 22:00
Modifié par Robocopp le 17/10/2011 à 22:00
Bonjour Patrice
Je pense que je vais essayer ta proposition même si les calculs sont longs, ça devrait prendre moins de temps que d'insérer des trucs à la main. De toute façon je vais essayer pour être sûr que ça puisse être applicable en situation de production. En fait, si j'ai bien compris, tu penses comme Eriiic que le mieux serait une macro. Je pense qu'il va falloir que j'apprenne au moins pour vous remercier.
J'ai bien compris le mode d'emploi de ton exemple, mais si j'osais, je te demanderais de me "traduire" les formules des colonnes A et B car c'est déjà bien costaud pour moi, et j'aime bien comprendre ce que je fais. J'espère que je n'abuse pas trop.
Mille Merci.
Au fait, on voit que le routage ça te dit quelque-chose.
Bien Cordialement.
Patrick
Je pense que je vais essayer ta proposition même si les calculs sont longs, ça devrait prendre moins de temps que d'insérer des trucs à la main. De toute façon je vais essayer pour être sûr que ça puisse être applicable en situation de production. En fait, si j'ai bien compris, tu penses comme Eriiic que le mieux serait une macro. Je pense qu'il va falloir que j'apprenne au moins pour vous remercier.
J'ai bien compris le mode d'emploi de ton exemple, mais si j'osais, je te demanderais de me "traduire" les formules des colonnes A et B car c'est déjà bien costaud pour moi, et j'aime bien comprendre ce que je fais. J'espère que je n'abuse pas trop.
Mille Merci.
Au fait, on voit que le routage ça te dit quelque-chose.
Bien Cordialement.
Patrick
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 17/10/2011 à 22:33
Modifié par Patrice33740 le 17/10/2011 à 22:33
Bonjour,
La formule de la colonne B sert à numéroter les liasses (c-à-d les X en colonne F)
La formule de la colonne A comprend 2 volets :
1) pour les lignes contenant une adresse (c-à-d les ligne dont le code postal n'est pas X), elle numérote les adresses successivement (incrément de 1) et , en plus, à chaque nouvelle liasse elle incrémente ce numéro de ligne de la valeur du numéro de liasse (pour laisser la place à la ligne de XXXXX à insérer).
2) pour les lignes de XXXXX ajoutées à la fin de la base de données (c-à-d les dont le code postal est X), elle attribue un numéro de ligne qui correspond à un des emplacements laissés libre par la numérotation des adresses (en 1, ci-dessus).
Le tri fait le reste : il ramène les ligne de XXXXX avant chaque liasse (c-à-d avant chaque X en colonne F)
Cordialement
Patrice
La formule de la colonne B sert à numéroter les liasses (c-à-d les X en colonne F)
La formule de la colonne A comprend 2 volets :
1) pour les lignes contenant une adresse (c-à-d les ligne dont le code postal n'est pas X), elle numérote les adresses successivement (incrément de 1) et , en plus, à chaque nouvelle liasse elle incrémente ce numéro de ligne de la valeur du numéro de liasse (pour laisser la place à la ligne de XXXXX à insérer).
2) pour les lignes de XXXXX ajoutées à la fin de la base de données (c-à-d les dont le code postal est X), elle attribue un numéro de ligne qui correspond à un des emplacements laissés libre par la numérotation des adresses (en 1, ci-dessus).
Le tri fait le reste : il ramène les ligne de XXXXX avant chaque liasse (c-à-d avant chaque X en colonne F)
Cordialement
Patrice
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
Modifié par eriiic le 17/10/2011 à 22:54
Modifié par eriiic le 17/10/2011 à 22:54
Bonsoir tout le monde,
En fait, si j'ai bien compris, tu penses comme Eriiic que le mieux serait une macro. Je pense qu'il va falloir que j'apprenne...
Je t'ai mis ici un fichier exemple pour la macro.
eric
En fait, si j'ai bien compris, tu penses comme Eriiic que le mieux serait une macro. Je pense qu'il va falloir que j'apprenne...
Je t'ai mis ici un fichier exemple pour la macro.
eric
Robocopp
Messages postés
159
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
1 septembre 2022
2
19 oct. 2011 à 20:10
19 oct. 2011 à 20:10
Bonsoir Patrice,
Grâce à ton aide, j'ai pu mettre mon fichier au point.
J'ai eu quelques problèmes car les lignes vides généraient un "0" qui modifiait la place de ma marque "X" et il manquait des lignes après le tri.
Je te joins 3 liens qui seront plus parlants.
https://www.cjoint.com/?AJttNrwG0bM
https://www.cjoint.com/?AJttO0mLr3o
https://www.cjoint.com/?AJttQla7oGV
Ça vaut ce que ça vaut, mais ça marche, l'important est de comprendre ce qu'on fait.
J'ai pas tout compris, mais petit à petit je pense que ce n'est pas désespéré.
Bien sûr si tu vois des trucs à améliorer, je suis preneur.
Vraiment sans ta contribution, je n'y serais pas arrivé.
Je pense que je vais faire des fichiers de 20 000 plis, en effet, je fais mon publipostage par 4 ex/flle ce qui ne fait que 5000 lignes. j'espère qu'Excel voudra les avaler.
Mille merci et à bientôt j'espère.
Bien Cordialement.
Grâce à ton aide, j'ai pu mettre mon fichier au point.
J'ai eu quelques problèmes car les lignes vides généraient un "0" qui modifiait la place de ma marque "X" et il manquait des lignes après le tri.
Je te joins 3 liens qui seront plus parlants.
https://www.cjoint.com/?AJttNrwG0bM
https://www.cjoint.com/?AJttO0mLr3o
https://www.cjoint.com/?AJttQla7oGV
Ça vaut ce que ça vaut, mais ça marche, l'important est de comprendre ce qu'on fait.
J'ai pas tout compris, mais petit à petit je pense que ce n'est pas désespéré.
Bien sûr si tu vois des trucs à améliorer, je suis preneur.
Vraiment sans ta contribution, je n'y serais pas arrivé.
Je pense que je vais faire des fichiers de 20 000 plis, en effet, je fais mon publipostage par 4 ex/flle ce qui ne fait que 5000 lignes. j'espère qu'Excel voudra les avaler.
Mille merci et à bientôt j'espère.
Bien Cordialement.
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 19/10/2011 à 23:07
Modifié par Patrice33740 le 19/10/2011 à 23:07
Bonsoir,
Voici une autre solution, à partir de ton fichier avant tri :
https://www.cjoint.com/?AJtxeOXHfJz
Cordialement
Patrice
Voici une autre solution, à partir de ton fichier avant tri :
https://www.cjoint.com/?AJtxeOXHfJz
Cordialement
Patrice
Robocopp
Messages postés
159
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
1 septembre 2022
2
20 oct. 2011 à 20:04
20 oct. 2011 à 20:04
Bonsoir Patrice,
"Voici une autre solution, à partir de ton fichier avant tri : "
Alors en plus du reste on est modeste? En fait, c'est notre fichier.
Merci pour cette nouvelle version avec des formules plus simples que ce que j'ai pu tirer des mes neurones torturés.
Par contre, quand on fait le tri, il y a des lignes qui disparaissent dans la colonne A (22,48,58,78,etc).
J'ai encore un autre souci, les 3 lignes avec des "X" ne suffisent pas, il faudrait que toutes les lignes vides ( col. C à M )soient remplies de "X", tu crois que c'est possible?
Bien Cordialement.
Patrick
"Voici une autre solution, à partir de ton fichier avant tri : "
Alors en plus du reste on est modeste? En fait, c'est notre fichier.
Merci pour cette nouvelle version avec des formules plus simples que ce que j'ai pu tirer des mes neurones torturés.
Par contre, quand on fait le tri, il y a des lignes qui disparaissent dans la colonne A (22,48,58,78,etc).
J'ai encore un autre souci, les 3 lignes avec des "X" ne suffisent pas, il faudrait que toutes les lignes vides ( col. C à M )soient remplies de "X", tu crois que c'est possible?
Bien Cordialement.
Patrick
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 21/10/2011 à 00:40
Modifié par Patrice33740 le 21/10/2011 à 00:40
« Par contre, quand on fait le tri, il y a des lignes qui disparaissent dans la colonne A (22,48,58,78,etc). »
Rassure-toi, les lignes ne disparaissent pas, pour des raisons de simplicité, j'ai utilisé une formule qui donne des numéros chronologiques mais pas consécutifs : elle saute un numéro à chaque ligne de X
« J'ai encore un autre souci, les 3 lignes avec des "X" ne suffisent pas, il faudrait que toutes les lignes vides ( col. C à M )soient remplies de "X", tu crois que c'est possible? »
Il n'y a aucun problème tu peux remplir de XXXX les cellules Cx à Mx sauf le code postal (col L) dans lequel il ne doit y avoir qu'un seul X.
Cordialement
Patrice
Rassure-toi, les lignes ne disparaissent pas, pour des raisons de simplicité, j'ai utilisé une formule qui donne des numéros chronologiques mais pas consécutifs : elle saute un numéro à chaque ligne de X
« J'ai encore un autre souci, les 3 lignes avec des "X" ne suffisent pas, il faudrait que toutes les lignes vides ( col. C à M )soient remplies de "X", tu crois que c'est possible? »
Il n'y a aucun problème tu peux remplir de XXXX les cellules Cx à Mx sauf le code postal (col L) dans lequel il ne doit y avoir qu'un seul X.
Cordialement
Patrice
Robocopp
Messages postés
159
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
1 septembre 2022
2
29 oct. 2011 à 16:55
29 oct. 2011 à 16:55
Bonjour Patrice,
Pardon de ne t'avoir répondu plus tôt, j'ai été dépassé par les évènements.
Quoiqu'il en soit, ça marche, et c'est grâce à toi.
Mille merci.
Bien Cordialement.
Pardon de ne t'avoir répondu plus tôt, j'ai été dépassé par les évènements.
Quoiqu'il en soit, ça marche, et c'est grâce à toi.
Mille merci.
Bien Cordialement.
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
29 oct. 2011 à 18:05
29 oct. 2011 à 18:05
Bon courage, au plaisir de te relire sur le Forum
Cordialement
Patrice
Cordialement
Patrice
14 oct. 2011 à 17:25
14 oct. 2011 à 19:34
Merci de ta réponse si rapide, mais si tu pouvais m'en dire plus sur les filtres, ça m"intéresse.
Tu vas dire que j'insiste, mais si le "X" commande l'insertion d"une ligne remplie de "X' dans chaque champ, c'est pareil ou pas ?
Cordialement.
14 oct. 2011 à 23:12
Si tu as des colonnes avec des X qui permettent d'identifier chaque liasse, en mettant un filtre automatique, tu n'ajouteras pas de ligne mais tu pourras n'afficher qu'une liasse au choix.
Parfois, il est plus simple de changer de méthode de travail, plutôt que persister dans des voies aux issues aussi incertaines et que problématiques.
15 oct. 2011 à 10:39
Quand tu écris: " Parfois, il est plus simple de changer de méthode de travail, plutôt que persister dans des voies aux issues aussi incertaines et que problématiques" , tu as tout à fait raison, c'est pour cela que je demande conseil, et c'est un plaisir sur ce forum de rencontrer autant de solidarité et de qualité.
Moi, j'image des choses à partir de choses que je crois savoir faire, et je suis tout à fait partant pour tout mettre au panier pour faire les choses dans les règles. C'est grâce à des personnes comme toi ( et d'autres qui m'ont déjà beaucoup apporté et qui se reconnaitront) que j'ai des chances de progresser.
J'abandonne donc les lignes avec des"x".
Je pense à ta lecture que je me suis encore une fois mal exprimé; en fait, je ne veux pas afficher une liasse spécialement, je cherche à intercaler entre les étiquettes au moment de l'impression une étiquette de séparation .
Je vais essayer d'être le plus clair possible .
Mon problème est à la fois simple et compliqué ( ça commence bien).
Mon but est de faire du tri postal avec des personnes qui n'ont pas accès à la lecture ni au calcul et tout cela en utilisant une machine qui mes des brochures sous film plastique. Sur cette brochure ( et sous le film), la machine dépose un porte-adresse. Je peux donc avoir 50 ou 60 000 adresses imprimées. Jusqu'ici pas de problème.
Là où ça devient moins évident, c'est que ces adresses sont à regrouper par liasses(10, 20, 50 ou 100 ex ou plus) en sortant de la machine et le "X" que je rajoute dans ma colonne n'est pas toujours bien visible. D'où l'idée d'intercaler entre chaque liasse un porte adresse rempli de"X" ( et donc beaucoup facile à distinguer. Jusqu'ici, avec mes collègues, nous insérions des étiquettes de couleur dans les piles d'étiquettes à cet endroit. À la sortie de la machine, c'est l'étiquette qui fait la séparation. Je voudrais améliorer le truc tout en restant dans une logique de production et continuer ainsi à prouver que le handicap n'est pas incompatible avec qualité et fiabilité du travail accompli.
Pour le tirages moyens, l'insertion des plis sous pochettes plastiques se fait à la main, c'est là où mes fameux "X" imprimés sur les porte - adresses prennent toute leur importance puisque la vitesse est moindre évidemment qu'avec la machine et donc facilement identifiables. Ca marche bien, et mes " p 'tis gars" adorent ce type de boulot, côté qualité, c'est impeccable. Bref, tout le monde est content. Ma démarche est peut être un peu militante, mais comme ils disent chez l'Oréal: "Ils le valent bien".
Voilà, je pense que tu sais tout, mais je pense que je vais continuer à mettre mes étiquettes de couleur à la main.
Quoiqu'il en soit, merci pour tes indications précieuses.
Cordialement.