Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comparaison de feuilles

32 réponses
Avatar
Jacquouille
Bonsoir,

Soit un fichier avec au minimum 12 feuilles (janv, févr...) construites de
la même manière:
N° membre Titre NOM RUE CP LOCALITE Tél. Email Choix
d'envoi
Chaque feuille a entre 400 et 500 noms de membres.
Chaque mois, des membres partent et des nouveaux arrivent.
Pour les partants, pas de prob car leur nom n'apparait plus le mois suivant.

Afin d'isoler les nouveaux membres, j'aimerais comparer la feuille de Fév
avec celle de Janvier.
Ensuite, créer une nouvelle feuille (Nouveaux Fév) sur laquelle on
retrouverait la même construction, mais uniquement pour les nouveaux
membres. C'est à dire, supprimer tous les noms de Fév qui sont en Janv. de
cette manière, il n'y aurait plus que les nouveaux.

Cerise: en lançant la macro, une "inpute-box" demanderait "pour quel mois on
veut les nouv membres". Ce inputbox servirait aussi à nommer la nouvelle
feuille créée.

Voilà 4 jours que je galère là-dessus et d'une fois à l'autre, cela va
moins bien.....
Vous comprenez aisément mon désarroi.

Grand merci et que le Grand Saint Nicolas vous apporte à tous et toutes ce
dont vous rêvez?
Perso, ce serait une machine à macros. -))

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com

10 réponses

1 2 3 4
Avatar
Jacquouille
Bonjour Denis
Je ne peux ni ne veux mettre tes paroles en doute, car c'est toi l'expert.
Pas moi.

Je vais repartir d'un nouveau document vierge, créer une liste de noms, puis
je la recopierai dans le mois de déc en y ajoutant un ou deux membres.
Puis, je comparerai Déc à Nov avec la macro
Je te ferai part du résultat.
Merci pour le temps que tu me (nous) consacres.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
n42k1j$dpm$



Dans le fichier que tu as publié, j'ai exécuté la macro et je n'obtiens que
2 lignes de données dans la feuille résultat. Tout est OK.

Il doit avoir quelque chose que tu ne dis pas...


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
Jacquouille
Re

Je viens d'ouvrir un doc vierge.
En F1, baptisée "Nov ", j'ai fait la ligne de titres, puis rempli 10 lignes
de membres.
Ensuite, j'ai copié cette feuille en F2, rebaptisée "Déc".
Là, j'ai supprimé la ligne 6 (un membre DCD inopinément, et l'ai remplacé
par un nouvel arrivé.
La 3° F, est vide et baptisée "résultat".
lancement de la macro.
La ligne 1 se crée (les 10 titres de col
Le nouveau membre est bien copié avec toutes les cel (10).
Mais, en plus, j'ai droit à la copie d la dernière ligne du mois de décembre
.....qui ne devrait pas y être, puisque ce membre est aussi dans Nov.
Voilà, Denis, je ne sais rien te dire de plus, si ce n'est un grand merci.

Mais, maintenant que je le sais, c'est pas grâve, je la supprime
manuellement.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
n42k1j$dpm$



Dans le fichier que tu as publié, j'ai exécuté la macro et je n'obtiens que
2 lignes de données dans la feuille résultat. Tout est OK.

Il doit avoir quelque chose que tu ne dis pas...


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
JièL
Jacquouille, si tu voulais bien désactiver la pub de ton AV...

Ouvre Avast, Onglet "Paramètre", "Protection active", "Agent Mail",
"Activé", dans la liste qui apparait "Arrêter définitivement"

Ça désactive le scan des messages entrant (pas forcément utile) et
sortant (totalement inutile) mais pas l'antivirus lui même qui
s'affolera si tu essayes d'ouvrir une pièce jointe potentiellement
dangereuse.

ou, à minima : https://forum.avast.com/index.php?topic7687.0

--
JièL En ti pub
Avatar
Jacquouille
Re

Vraiment pour essayer:
Voici le tout nouveau doc qui date de ce jour à 14:03 hr.
j'ai créé le doc de toutes pièces et repris la macro publiée ici.
Donc aucune interférence possible entre ce doc et les autres.... (enfin, en
théorie).
Rappel: XL 2003
Jacques: 1948

http://www.cjoint.com/c/ELhnkmSqCNJ

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
n43ofq$ud4$

Re

Je viens d'ouvrir un doc vierge.
En F1, baptisée "Nov ", j'ai fait la ligne de titres, puis rempli 10 lignes
de membres.
Ensuite, j'ai copié cette feuille en F2, rebaptisée "Déc".
Là, j'ai supprimé la ligne 6 (un membre DCD inopinément, et l'ai remplacé
par un nouvel arrivé.
La 3° F, est vide et baptisée "résultat".
lancement de la macro.
La ligne 1 se crée (les 10 titres de col
Le nouveau membre est bien copié avec toutes les cel (10).
Mais, en plus, j'ai droit à la copie d la dernière ligne du mois de décembre
.....qui ne devrait pas y être, puisque ce membre est aussi dans Nov.
Voilà, Denis, je ne sais rien te dire de plus, si ce n'est un grand merci.

Mais, maintenant que je le sais, c'est pas grâve, je la supprime
manuellement.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
n42k1j$dpm$



Dans le fichier que tu as publié, j'ai exécuté la macro et je n'obtiens que
2 lignes de données dans la feuille résultat. Tout est OK.

Il doit avoir quelque chose que tu ne dis pas...


---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
JièL
Le 07/12/2015 14:10, Jacquouille a écrit :
Voici le tout nouveau doc qui date de ce jour à 14:03 hr.
j'ai créé le doc de toutes pièces et repris la macro publiée ici.
Donc aucune interférence possible entre ce doc et les autres.... (enfin,
en théorie).



"La théorie et la pratique, c'est pareil... en théorie." ;-)

Rappel: XL 2003
Jacques: 1948



Y'a un des millésime qui ne vas pas bien, je te laisse découvrir lequel ;-)

Mais blague à part, avec XL 2013 et XL 2010 je n'ai pas le même résultat
que toi
http://www.cjoint.com/c/ELhpnJ7xtP6

Donc faut changer qqchose ?! Mais quoi ? Excel ou ???? ;-)

--
JièL Mi les zimé
Avatar
JièL
Jacquouille, essaye de lancer ta macro en mode débug pas à pas, tu
devrais voir le pourquoi y'a cette ligne de trop

Moi j'ai essayé, mais comme je n'ai pas d'erreur, tout vas bien

--
JièL

Le 07/12/2015 14:10, Jacquouille a écrit :
Re

Vraiment pour essayer:
Voici le tout nouveau doc qui date de ce jour à 14:03 hr.
j'ai créé le doc de toutes pièces et repris la macro publiée ici.
Donc aucune interférence possible entre ce doc et les autres.... (enfin,
en théorie).
Rappel: XL 2003
Jacques: 1948

http://www.cjoint.com/c/ELhnkmSqCNJ

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
n43ofq$ud4$

Re

Je viens d'ouvrir un doc vierge.
En F1, baptisée "Nov ", j'ai fait la ligne de titres, puis rempli 10 lignes
de membres.
Ensuite, j'ai copié cette feuille en F2, rebaptisée "Déc".
Là, j'ai supprimé la ligne 6 (un membre DCD inopinément, et l'ai remplacé
par un nouvel arrivé.
La 3° F, est vide et baptisée "résultat".
lancement de la macro.
La ligne 1 se crée (les 10 titres de col
Le nouveau membre est bien copié avec toutes les cel (10).
Mais, en plus, j'ai droit à la copie d la dernière ligne du mois de
décembre
.....qui ne devrait pas y être, puisque ce membre est aussi dans Nov.
Voilà, Denis, je ne sais rien te dire de plus, si ce n'est un grand merci.

Mais, maintenant que je le sais, c'est pas grâve, je la supprime
manuellement.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
n42k1j$dpm$



Dans le fichier que tu as publié, j'ai exécuté la macro et je n'obtiens que
2 lignes de données dans la feuille résultat. Tout est OK.

Il doit avoir quelque chose que tu ne dis pas...


---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com

---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com

Avatar
Jacquouille
Re
Je viens de lancer la macro pas à pas.
Voici une copie d'écran qui montre la colonne K, où la dernière ligne se
voit (à juste titre) affubler d'un 1.(via formule proposée initialement)
Mais cela ne dit toujours pas pourquoi elle se recopie dans "résultat".
http://www.cjoint.com/c/ELhqXEMASTJ

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"JièL" a écrit dans le message de groupe de discussion :
n448cm$4hr$

Jacquouille, essaye de lancer ta macro en mode débug pas à pas, tu
devrais voir le pourquoi y'a cette ligne de trop

Moi j'ai essayé, mais comme je n'ai pas d'erreur, tout vas bien

--
JièL

Le 07/12/2015 14:10, Jacquouille a écrit :
Re

Vraiment pour essayer:
Voici le tout nouveau doc qui date de ce jour à 14:03 hr.
j'ai créé le doc de toutes pièces et repris la macro publiée ici.
Donc aucune interférence possible entre ce doc et les autres.... (enfin,
en théorie).
Rappel: XL 2003
Jacques: 1948

http://www.cjoint.com/c/ELhnkmSqCNJ

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
n43ofq$ud4$

Re

Je viens d'ouvrir un doc vierge.
En F1, baptisée "Nov ", j'ai fait la ligne de titres, puis rempli 10
lignes
de membres.
Ensuite, j'ai copié cette feuille en F2, rebaptisée "Déc".
Là, j'ai supprimé la ligne 6 (un membre DCD inopinément, et l'ai remplacé
par un nouvel arrivé.
La 3° F, est vide et baptisée "résultat".
lancement de la macro.
La ligne 1 se crée (les 10 titres de col
Le nouveau membre est bien copié avec toutes les cel (10).
Mais, en plus, j'ai droit à la copie d la dernière ligne du mois de
décembre
.....qui ne devrait pas y être, puisque ce membre est aussi dans Nov.
Voilà, Denis, je ne sais rien te dire de plus, si ce n'est un grand merci.

Mais, maintenant que je le sais, c'est pas grâve, je la supprime
manuellement.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
n42k1j$dpm$



Dans le fichier que tu as publié, j'ai exécuté la macro et je n'obtiens
que
2 lignes de données dans la feuille résultat. Tout est OK.

Il doit avoir quelque chose que tu ne dis pas...


---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com

---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com





---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
MichD
Essaie la macro en effectuant une modification à la procédure

Au lieu de .Range("A2:A".... je l'ai modifié comme ceci : .Range("A1:A"

Fait la substitution dans la procédure.

With F2
Set Rg = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With

La seule modification apportée est celle-ci :

Selon la photo que tu as publiée, il est évident que tu as un problème avec le filtre automatique
La dernière ligne ne devait pas s'afficher puisqu'elle ne répond pas au critère "0", elle affiche
"1".
Avatar
Jacquouille
Bonsoir Denis
Je vais tester.
pour ce qui est du filtre, tout au début de ce fil, tu as proposé une
solution par formule, suivie du filtre. Et là, tout fonctionnait très
bien.( mais le filtre était commandé manuellement).
Pourrait-il exister une différence avec un filtre via VBA ?



Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
n44h8v$qvp$

Essaie la macro en effectuant une modification à la procédure

Au lieu de .Range("A2:A".... je l'ai modifié comme ceci : .Range("A1:A"

Fait la substitution dans la procédure.

With F2
Set Rg = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With

La seule modification apportée est celle-ci :

Selon la photo que tu as publiée, il est évident que tu as un problème avec
le filtre automatique
La dernière ligne ne devait pas s'afficher puisqu'elle ne répond pas au
critère "0", elle affiche
"1".


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
Jacquouille
Re
Ben, il n'en veut pas. Avec Range("A1 ... ----> erreur d'exécution 1004
avec range("a2 ... -----> ça va, mais avec la fameuse ligne en plus.

Par contre, si je supprime le +1 de la ligne
.Offset(-1,
Col).Resize(.Rows.Count+1).SpecialCells(xlCellTypeVisible).EntireRow.Copy
Feuil3.Range("A1") ---> non
.Offset(-1,
Col).Resize(.Rows.Count).SpecialCells(xlCellTypeVisible).EntireRow.Copy
Feuil3.Range("A1") --->c'est parfait.

En plus, j'ai refait le test en grandeur nature, avec les 400 membres... ET
C'EST BON !

Vas t'en comprendre.
Alors, puisque cela fonctionne, je le laisse ainsi, même si je ne comprends
pas pourquoi il y a une différence chez vous.
Grand merci pour votre patience.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
n44h8v$qvp$

Essaie la macro en effectuant une modification à la procédure

Au lieu de .Range("A2:A".... je l'ai modifié comme ceci : .Range("A1:A"

Fait la substitution dans la procédure.

With F2
Set Rg = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With

La seule modification apportée est celle-ci :

Selon la photo que tu as publiée, il est évident que tu as un problème avec
le filtre automatique
La dernière ligne ne devait pas s'afficher puisqu'elle ne répond pas au
critère "0", elle affiche
"1".


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
1 2 3 4