MaJ de données d'une feuille en comparant à une autre feuille
Résolu/Fermé
framel2324
Messages postés
46
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
29 septembre 2015
-
11 mai 2015 à 21:55
framel2324 - 18 mai 2015 à 19:10
framel2324 - 18 mai 2015 à 19:10
A voir également:
- MaJ de données d'une feuille en comparant à une autre feuille
- Feuille de pointage excel - Télécharger - Tableur
- Comment supprimer une feuille sur word - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
- Bruler une feuille de laurier - Guide
- Excel reporter des données sur une autre feuille avec conditions ✓ - Forum Excel
4 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
12 mai 2015 à 08:59
12 mai 2015 à 08:59
Bonjour
S'il y a un moyen de vous transmettre le fichier, dites-moi comment faire.
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le lien proposé dans le message de réponse
S'il y a un moyen de vous transmettre le fichier, dites-moi comment faire.
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le lien proposé dans le message de réponse
framel2324
Messages postés
46
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
29 septembre 2015
2
Modifié par framel2324 le 12/05/2015 à 10:02
Modifié par framel2324 le 12/05/2015 à 10:02
Voila le fichier de test en question.
https://www.cjoint.com/c/EEmkiXcYd3i
J'ai avance par rapport a hier soir, en trouvant comment recuperer le nom de la feuille 2 et modifier une donnee de ce nom dans la feuille 1
Dans la macro, j'ai ecrit en commentaire une partie de mon probleme.
Il y a des commandes aue je ne connais pas, raison pour laquelle ce sont des commentaires :)
je continue de me creuser la tete et vous donnerai un fichier a our si je trouve quelque chose
Merci pour votre aide en tout cas
https://www.cjoint.com/c/EEmkiXcYd3i
J'ai avance par rapport a hier soir, en trouvant comment recuperer le nom de la feuille 2 et modifier une donnee de ce nom dans la feuille 1
Dans la macro, j'ai ecrit en commentaire une partie de mon probleme.
Il y a des commandes aue je ne connais pas, raison pour laquelle ce sont des commentaires :)
je continue de me creuser la tete et vous donnerai un fichier a our si je trouve quelque chose
Merci pour votre aide en tout cas
framel2324
Messages postés
46
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
29 septembre 2015
2
13 mai 2015 à 08:13
13 mai 2015 à 08:13
Bonjour,
apres quelques recherches, j'ai trouve la methode Find.
Sachant que je veux comparer les cellules d'une ligne de la feuille 2 avec les cellules de la colonne A de la feuille 3, et si il y a une concordance, recuperer cette valeur, j'ai ecrit ces lignes, mais ca ne fonctionne pas :
Set Creg1 = Sheets("Feuil2").Range("C" & Ligne2).Find(Sheets("Feuil3").Columns("A"))
Set Creg2 = Sheets("Feuil2").Range("D" & Ligne2).Find(Sheets("Feuil3").Columns("A"))
Set Creg3 = Sheets("Feuil2").Range("E" & Ligne2).Find(Sheets("Feuil3").Columns("A"))
Set Creg4 = Sheets("Feuil2").Range("F" & Ligne2).Find(Sheets("Feuil3").Columns("A"))
Je pensais que, comme a la cellule E2, j'ai la valeur 22 (donc appartenant a la colonne 3 de la feuille 3), Creg3 serait egal a 22, mais non.
Pouvez-vous m'expliquer la ou je me trompe svp ?
L'idee etant de recuperer la valeur en Creg1x et la copier dans une cellule de la feuille 1
Merci pour votre aide
apres quelques recherches, j'ai trouve la methode Find.
Sachant que je veux comparer les cellules d'une ligne de la feuille 2 avec les cellules de la colonne A de la feuille 3, et si il y a une concordance, recuperer cette valeur, j'ai ecrit ces lignes, mais ca ne fonctionne pas :
Set Creg1 = Sheets("Feuil2").Range("C" & Ligne2).Find(Sheets("Feuil3").Columns("A"))
Set Creg2 = Sheets("Feuil2").Range("D" & Ligne2).Find(Sheets("Feuil3").Columns("A"))
Set Creg3 = Sheets("Feuil2").Range("E" & Ligne2).Find(Sheets("Feuil3").Columns("A"))
Set Creg4 = Sheets("Feuil2").Range("F" & Ligne2).Find(Sheets("Feuil3").Columns("A"))
Je pensais que, comme a la cellule E2, j'ai la valeur 22 (donc appartenant a la colonne 3 de la feuille 3), Creg3 serait egal a 22, mais non.
Pouvez-vous m'expliquer la ou je me trompe svp ?
L'idee etant de recuperer la valeur en Creg1x et la copier dans une cellule de la feuille 1
Merci pour votre aide
framel2324
Messages postés
46
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
29 septembre 2015
2
14 mai 2015 à 09:09
14 mai 2015 à 09:09
Bonjour,
j'ai reussi a pondre une grosse partie du code en srcutant moultes pages internet expliquant les differentes commandes dont j'avais besoin.
J'imagine qu'il doit y avoir plus simple et plus propre mais ca fonctionne.
Je vous mets donc un fichier excel en pj.
https://www.cjoint.com/c/EEojsoxsdpp
Me reste deux derniers problemes que, malgre toutes mes recherches, je n'arrive pas a solutionner.
1 / Si une cellule ( en feuille 2) contient un "_", je voudrais recuperer la partie a gauche du "_" et la copier en feuille 1, soit en colonne 2, soit en colonne 4, en fonction de sa valeur, et prendre la partie a droite du "_" et la copier dans la colonne C.
2/ Si la case en feuille 1, colonne E a ete modifiee, alors colorier toute la ligne en jaune, sinon, ne colorier la ligne que jusqu'a la colonne D.
J'espere que vous pourrew m'aider car je tourne en rond et ne sais pas du tout comment gerer ces 2 problematiques
Bonne journee
j'ai reussi a pondre une grosse partie du code en srcutant moultes pages internet expliquant les differentes commandes dont j'avais besoin.
J'imagine qu'il doit y avoir plus simple et plus propre mais ca fonctionne.
Je vous mets donc un fichier excel en pj.
https://www.cjoint.com/c/EEojsoxsdpp
Me reste deux derniers problemes que, malgre toutes mes recherches, je n'arrive pas a solutionner.
1 / Si une cellule ( en feuille 2) contient un "_", je voudrais recuperer la partie a gauche du "_" et la copier en feuille 1, soit en colonne 2, soit en colonne 4, en fonction de sa valeur, et prendre la partie a droite du "_" et la copier dans la colonne C.
2/ Si la case en feuille 1, colonne E a ete modifiee, alors colorier toute la ligne en jaune, sinon, ne colorier la ligne que jusqu'a la colonne D.
J'espere que vous pourrew m'aider car je tourne en rond et ne sais pas du tout comment gerer ces 2 problematiques
Bonne journee
framel2324
Messages postés
46
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
29 septembre 2015
2
14 mai 2015 à 16:59
14 mai 2015 à 16:59
J'ai reussi a gerer la problematique 1
Pour la deuxieme, je n'y arrive decidement pas
J'arrive a colorier une cellule grace a la commande
Sheets("Feuil1").Cells(Name1, 1).Interior.Color = 65585
Mais pour en colorier plusieurs de la meme ligne, pas moyen, malgre les tests tous les tests que j'ai fait (ci-dessous)
Sheets("Feuil1").Range("LigneAna:A" & "LigneAna:J").Interior.Color = 65585
Sheets("Feuil1").Range(Cells(Name1, 1), Cells(Name1, 5)).Interior.Color = 65585
Range("A" & Name1 & ":E" & Name1).Interior.Color = 65585
Sheets("Feuil1").Range(Cells(Name1, 1) & Cells(Name1, 10)).Interior.Color = 65585
Sheets("Feuil1").Range(LigneAna & 1).Interior.Color = 65585
Sheets("Feuil1").Range(Cells(LigneAna, A) & Cells(LigneAna, J)).Interior.Color = 65585
Sheets("Feuil1").Range("LigneAna & A" & "LigneAna & J").Interior.Color = 65585
Sheets("Feuil1").Range(Name1 & LigneAna).Row.Interior.Color = 65585
A chaque fois, j'ai droit a une erreur. Ou est-ce que je rate le coche ??
De l'aide serait vraiment la bienvenue
Merci d'avance
Pour la deuxieme, je n'y arrive decidement pas
J'arrive a colorier une cellule grace a la commande
Sheets("Feuil1").Cells(Name1, 1).Interior.Color = 65585
Mais pour en colorier plusieurs de la meme ligne, pas moyen, malgre les tests tous les tests que j'ai fait (ci-dessous)
Sheets("Feuil1").Range("LigneAna:A" & "LigneAna:J").Interior.Color = 65585
Sheets("Feuil1").Range(Cells(Name1, 1), Cells(Name1, 5)).Interior.Color = 65585
Range("A" & Name1 & ":E" & Name1).Interior.Color = 65585
Sheets("Feuil1").Range(Cells(Name1, 1) & Cells(Name1, 10)).Interior.Color = 65585
Sheets("Feuil1").Range(LigneAna & 1).Interior.Color = 65585
Sheets("Feuil1").Range(Cells(LigneAna, A) & Cells(LigneAna, J)).Interior.Color = 65585
Sheets("Feuil1").Range("LigneAna & A" & "LigneAna & J").Interior.Color = 65585
Sheets("Feuil1").Range(Name1 & LigneAna).Row.Interior.Color = 65585
A chaque fois, j'ai droit a une erreur. Ou est-ce que je rate le coche ??
De l'aide serait vraiment la bienvenue
Merci d'avance