NEXTIF nom différent du précédent
Résolu
eZula
Messages postés
3391
Date d'inscription
Statut
Contributeur
Dernière intervention
-
eZula Messages postés 3391 Date d'inscription Statut Contributeur Dernière intervention -
eZula Messages postés 3391 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Dans un tableau immodifiable pour cette manip (excel 2010), il y a une liste de noms comme suivant :
Dans un publipostage, je souhaiterais que s'affiche ceci :
N n'étant évidemment pas connu (susceptible de changer régulièrement)
Il s'agit en quelque sorte de supprimer les doublons
J'ai bien tenté d'enregistrer un signet "NomPrec" (nom précédent) avec SET et de combiner avec NEXTIF mais je me casse la figure sur la "boucle" qu'il s'agit de définir afin que ne s'affiche que le résultat attendu. Cela ne marche pas, j'aurais besoin d'un peu d'aide svp.
Dans un tableau immodifiable pour cette manip (excel 2010), il y a une liste de noms comme suivant :
NOM1
NOM1
NOM1
NOM1
NOM1
...
NOM2
NOM2
NOM2
NOM2
...
NOM3
NOM3
NOM3
NOM3...
...
NOMN
NOMN
NOMN
NOMN
...
Dans un publipostage, je souhaiterais que s'affiche ceci :
NOM1
NOM2
NOM3
...
NOMN
N n'étant évidemment pas connu (susceptible de changer régulièrement)
Il s'agit en quelque sorte de supprimer les doublons
J'ai bien tenté d'enregistrer un signet "NomPrec" (nom précédent) avec SET et de combiner avec NEXTIF mais je me casse la figure sur la "boucle" qu'il s'agit de définir afin que ne s'affiche que le résultat attendu. Cela ne marche pas, j'aurais besoin d'un peu d'aide svp.
17 réponses
Bonjour,
Pourquoi ne pas créer sur la liste sans doublons sur Excel (une feuille pour le publipostage) !
Pourquoi ne pas créer sur la liste sans doublons sur Excel (une feuille pour le publipostage) !
Bonjour, et merci Le Pingou
à défaut d'avoir trouvé mieux, j'ai appliqué cette méthode qui, en utilisant la fonction "supprimer les doublons", résoud le problème, mais qui a le double inconvénient de :
- ne pas avoir compris dans quelle mesure c'était possible avec les opérateurs,
- devoir réeffectuer la suppression des doublons dans un autre tableau à chaque fois qu'il est modifié.
Je reste donc ouvert à l'autre solution,
Thanx
à défaut d'avoir trouvé mieux, j'ai appliqué cette méthode qui, en utilisant la fonction "supprimer les doublons", résoud le problème, mais qui a le double inconvénient de :
- ne pas avoir compris dans quelle mesure c'était possible avec les opérateurs,
- devoir réeffectuer la suppression des doublons dans un autre tableau à chaque fois qu'il est modifié.
Je reste donc ouvert à l'autre solution,
Thanx
Bonjour,
Oui c'était une idée qui marche, personnellement je préfère la mise en place sur Excel sans devoir manipuler Word.
Cependant j'aimerais bien réussir avec votre demande mais je n'ai pas assez d'élément correspondant à votre application, peut-être un petit exemple Excel et Word... !
Oui c'était une idée qui marche, personnellement je préfère la mise en place sur Excel sans devoir manipuler Word.
Cependant j'aimerais bien réussir avec votre demande mais je n'ai pas assez d'élément correspondant à votre application, peut-être un petit exemple Excel et Word... !
Bonjour,
Après quelques recherches il se trouve que pour le publipostage vous devez avoir une base sans doublon.
Avec une procédure (macro) il est simple de mettre à jour les données sur une autre feuille utilisé comme base pour le publipostage.
Après quelques recherches il se trouve que pour le publipostage vous devez avoir une base sans doublon.
Avec une procédure (macro) il est simple de mettre à jour les données sur une autre feuille utilisé comme base pour le publipostage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Merci pour ton aide!
Pourtant je me disais avec SET pour stocker une valeur, IF, NEXTIF, éventuellement SKIPIF... tous les ingrédients semblent être là pour procéder à cette comparaison "pas à pas".
Mes recherches n'ont pas abouti à une réponse précise, juste quelques pistes qui semblaient s'en rapprocher, par exemple http://www.forum-microsoft.org/topic81484.html
https://support.microsoft.com/fr-fr/help/459169
Merci pour ton aide!
Pourtant je me disais avec SET pour stocker une valeur, IF, NEXTIF, éventuellement SKIPIF... tous les ingrédients semblent être là pour procéder à cette comparaison "pas à pas".
Mes recherches n'ont pas abouti à une réponse précise, juste quelques pistes qui semblaient s'en rapprocher, par exemple http://www.forum-microsoft.org/topic81484.html
https://support.microsoft.com/fr-fr/help/459169
Bonjour,
Merci du retour.
C'est avec plaisir que je vais parcourir les 2 liens proposés.
C'est dommage que vous ne puissiez pas me mettre un petit exemple Excel et Word...pour voir la structure de votre application ... !
Merci du retour.
C'est avec plaisir que je vais parcourir les 2 liens proposés.
C'est dommage que vous ne puissiez pas me mettre un petit exemple Excel et Word...pour voir la structure de votre application ... !
Bonjour,
Pouvez-vous expliquer ce qu'il doit y avoir pour le document Word dans le tableau de 135 lignes et dont seulement la première à un champ [nom] .... ?
Cela me parait très étrange comme publipostage...!
Pouvez-vous expliquer ce qu'il doit y avoir pour le document Word dans le tableau de 135 lignes et dont seulement la première à un champ [nom] .... ?
Cela me parait très étrange comme publipostage...!
Bonjour,
les 135 lignes c'est au pif, au vu du nombre de lignes du tableau. Il faudrait qu'il y ait autant de lignes dans le doc word que de noms uniques dans le tableau
Cela pourrait s'apparenter à un publipostage, le format des étiquettes étant spécial puisque destiné à être dans les porte-étiquettes de ce type de dossier suspendu
https://www.metro.fr/produits-equipements/fournitures-de-bureau/dossier-suspendu-corbeille/dossier-suspendu/support-pour-dossiers-suspendus-10-dossiers-ref109995.html
Et donc il faudrait que dans word, chaque ligne comporte nom, prénom et matricule, et la ligne suivante le nom suivant, prénom suivant, matricule suivant...
J'ai supprimé mes essais, donc désolé effectivement ce n'est pas très parlant.
les 135 lignes c'est au pif, au vu du nombre de lignes du tableau. Il faudrait qu'il y ait autant de lignes dans le doc word que de noms uniques dans le tableau
Cela pourrait s'apparenter à un publipostage, le format des étiquettes étant spécial puisque destiné à être dans les porte-étiquettes de ce type de dossier suspendu
https://www.metro.fr/produits-equipements/fournitures-de-bureau/dossier-suspendu-corbeille/dossier-suspendu/support-pour-dossiers-suspendus-10-dossiers-ref109995.html
Et donc il faudrait que dans word, chaque ligne comporte nom, prénom et matricule, et la ligne suivante le nom suivant, prénom suivant, matricule suivant...
J'ai supprimé mes essais, donc désolé effectivement ce n'est pas très parlant.
Bonjour,
Merci pour l'information.
Si le publipostage sert à imprimé des étiquettes pour dossiers-suspendu, il faut connaitre les dimensions de l'étiquette supporté par le porte-étiquette et ensuite créer sur le document Word une matrice correspondante d'une page si impression feuille à feuille.
Merci pour l'information.
Si le publipostage sert à imprimé des étiquettes pour dossiers-suspendu, il faut connaitre les dimensions de l'étiquette supporté par le porte-étiquette et ensuite créer sur le document Word une matrice correspondante d'une page si impression feuille à feuille.
Bon, pour la dimension des étiquettes ce n'est pas un pb, je peux faire une matrice simple de 200 lignes s'il le faut, sans passer par l'option "étiquettes"
La matrice actuelle convient très bien, et les dimensions sont ajustées
le tout est d'arriver à caser ces champs de sorte à ce qu'ils se succèdent, sans doublons
La matrice actuelle convient très bien, et les dimensions sont ajustées
le tout est d'arriver à caser ces champs de sorte à ce qu'ils se succèdent, sans doublons
Bonjour,
Non et non il suffit de créer une page A4 et c'est tout et ensuite c'est le publipostage qui incrémentera la matrice selon les besoin.
Je vous fait un exemple fictif y compris la préparation de la liste pour le publipostage.
Patience.
Note: si vous avez devant vous un dossier suspendu il est tout simple de mesurer la largeur et la longueur de l'étiquette du porte étiquette .... qu'en pensez-vous....?
Non et non il suffit de créer une page A4 et c'est tout et ensuite c'est le publipostage qui incrémentera la matrice selon les besoin.
Je vous fait un exemple fictif y compris la préparation de la liste pour le publipostage.
Patience.
Note: si vous avez devant vous un dossier suspendu il est tout simple de mesurer la largeur et la longueur de l'étiquette du porte étiquette .... qu'en pensez-vous....?
Bonjour,
OK OK :) les mesures avaient été prises et sont quasi conformes aux cellules de ce publipostage : 12,7 x 0,64
Merci et bonne journée
OK OK :) les mesures avaient été prises et sont quasi conformes aux cellules de ce publipostage : 12,7 x 0,64
Merci et bonne journée
Bonjour,
Je vous transmets votre fichier par MP.
Principe, une procédure mais à jour la feuille [listpublipos] qui sert comme base de données pour le publipostage. La mise à jour est automatique lors de la fermeture du classeur. Ensuite vous ouvrez le document de publipostage [Publipostage_Eti_dos susp_v0.docx] ...suite selon vos préférences... !
Je vous transmets votre fichier par MP.
Principe, une procédure mais à jour la feuille [listpublipos] qui sert comme base de données pour le publipostage. La mise à jour est automatique lors de la fermeture du classeur. Ensuite vous ouvrez le document de publipostage [Publipostage_Eti_dos susp_v0.docx] ...suite selon vos préférences... !
Bonjour,
Merci bp, cela semble bien résoudre le problème.
Puis-je poster le code sur ce message, afin que d'autres visiteurs puissent en profiter ?
Encore merci pour cette aide précieuse :)
Merci bp, cela semble bien résoudre le problème.
Puis-je poster le code sur ce message, afin que d'autres visiteurs puissent en profiter ?
Encore merci pour cette aide précieuse :)
Bonjour,
Voici donc le code de Le Pingou, sachant que les cellules Nom et Prénom (dont il faut éliminer les doublons) se trouvent respectivement en colonnes O et P dans le tableau initial, et la feuille [listpublipos] à droite de l'onglet du tableau :
Encore un grand merci et bonne continuation :)
Voici donc le code de Le Pingou, sachant que les cellules Nom et Prénom (dont il faut éliminer les doublons) se trouvent respectivement en colonnes O et P dans le tableau initial, et la feuille [listpublipos] à droite de l'onglet du tableau :
Sub listepourpublipostage()
Dim listsd() As String, li As Integer
Set sh = Sheets("Tableau de suivi")
Set shlp = Sheets("listpublipos")
Set ledico = CreateObject("Scripting.Dictionary")
deli = sh.Cells(Rows.Count, 1).End(xlUp).Row
For c = 2 To deli ' In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
If ledico.exists(sh.Cells(c, 15) & sh.Cells(c, 16)) Then
' MsgBox "oui"
Else
' MsgBox "Non"
ledico(sh.Cells(c, 15) & sh.Cells(c, 16)) = ""
ReDim Preserve listsd(0 To 2, 0 To li)
listsd(0, li) = sh.Cells(c, 15).Value
listsd(1, li) = sh.Cells(c, 16).Value
listsd(2, li) = sh.Cells(c, 13).Value
li = li + 1
End If
Next c
With shlp
deli = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Range("a2:C" & deli).ClearContents
.Range("a2:c" & UBound(listsd, 2)) = Application.Transpose(listsd)
.Columns("A:D").Sort Key1:=.Columns(1), Order1:=xlAscending, Header:=xlYes
End With
Set sh = Nothing
Set shlp = Nothing
Set ledico = Nothing
ActiveWorkbook.Save
End Sub
Encore un grand merci et bonne continuation :)