Manipuler tableau : RechercheV ? VBA ?
Résolu/Fermé
Nasa2142
Messages postés
10
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
23 janvier 2018
-
22 janv. 2018 à 12:47
Mike-31 Messages postés 18345 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 novembre 2024 - 24 janv. 2018 à 06:19
Mike-31 Messages postés 18345 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 novembre 2024 - 24 janv. 2018 à 06:19
A voir également:
- Manipuler tableau : RechercheV ? VBA ?
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
3 réponses
Mike-31
Messages postés
18345
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 novembre 2024
5 104
Modifié le 22 janv. 2018 à 13:44
Modifié le 22 janv. 2018 à 13:44
Bonjour,
il aurait été préférable d'avoir un exemple de fichier pour adapter une formule qu'une capture écran qui ne donne aucune indication sur la structure de ton tableau, il n'est pas nécessaire de passer par une macro pour faire ce que tu veux.
en supposant que ton tableau est en A2:C20
et que tu souhaites créer ton deuxième tableau collecteur qui commence en G2
en G2 colle cette formule matricielle qu'il faudra confirmer en cliquant en même temps sur les trois touches du clavier Ctrl, Shift et Entrée et si tu fais bien la formule se placera entre ces accolades {}
alors en G2 cette formule matricielle
=INDEX(A$1:A$20;MIN(SI(NB.SI(G$1:G1;A$1:A$20)=0;SI(A$1:A$20<>"";LIGNE(A$1:A$20)))))&""
en H2 cette simple formule
=SI(SOMMEPROD((A$2:A$20=G2)*(B$2:B$20="OK"))>=1;"OK";"")
et en I2 celle ci
=SI(SOMMEPROD((A$2:A$20=G2)*(C$2:C$20="OK"))>=1;"OK";"")
ensuite incrémente les trois formules vers le bas
A+
Mike-31
Je suis responsable de ce que je dis, pas de ce que tu comprends...
il aurait été préférable d'avoir un exemple de fichier pour adapter une formule qu'une capture écran qui ne donne aucune indication sur la structure de ton tableau, il n'est pas nécessaire de passer par une macro pour faire ce que tu veux.
en supposant que ton tableau est en A2:C20
et que tu souhaites créer ton deuxième tableau collecteur qui commence en G2
en G2 colle cette formule matricielle qu'il faudra confirmer en cliquant en même temps sur les trois touches du clavier Ctrl, Shift et Entrée et si tu fais bien la formule se placera entre ces accolades {}
alors en G2 cette formule matricielle
=INDEX(A$1:A$20;MIN(SI(NB.SI(G$1:G1;A$1:A$20)=0;SI(A$1:A$20<>"";LIGNE(A$1:A$20)))))&""
en H2 cette simple formule
=SI(SOMMEPROD((A$2:A$20=G2)*(B$2:B$20="OK"))>=1;"OK";"")
et en I2 celle ci
=SI(SOMMEPROD((A$2:A$20=G2)*(C$2:C$20="OK"))>=1;"OK";"")
ensuite incrémente les trois formules vers le bas
A+
Mike-31
Je suis responsable de ce que je dis, pas de ce que tu comprends...
Mike-31
Messages postés
18345
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 novembre 2024
5 104
22 janv. 2018 à 21:37
22 janv. 2018 à 21:37
Re,
je le regarderais que demain matin
1) Clic sur ce lien https://www.cjoint.com/
2) Clic sur le bouton Parcourir pour sélectionner ton fichier
3) Clic sur le bouton Créer le lien en bas de la page
4) Au bout de quelques secondes en haut de la page en bleu souligné un lien sera généré, tu le sélectionnes et tu le copies dans une réponse
je le regarderais que demain matin
1) Clic sur ce lien https://www.cjoint.com/
2) Clic sur le bouton Parcourir pour sélectionner ton fichier
3) Clic sur le bouton Créer le lien en bas de la page
4) Au bout de quelques secondes en haut de la page en bleu souligné un lien sera généré, tu le sélectionnes et tu le copies dans une réponse
Nasa2142
Messages postés
10
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
23 janvier 2018
22 janv. 2018 à 21:52
22 janv. 2018 à 21:52
Pas de soucis, je t'ai mis des indications supplémentaire dans le document.
https://www.cjoint.com/c/HAwuZJgTeKn
Bonne soirée
https://www.cjoint.com/c/HAwuZJgTeKn
Bonne soirée
Mike-31
Messages postés
18345
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 novembre 2024
5 104
23 janv. 2018 à 11:11
23 janv. 2018 à 11:11
Bonjour,
déjà dans ton tableau les saisies ne sont pas identiques, certaines avec des espaces au début, d'autre en fin voire des doubles espaces
commence par faire le ménage avec cette formule en cellule U3
=SUPPRESPACE(A3)
et incrémente la vers le bas jusqu'à U2541
par l'incrémentation la plage U3:U2541 contenant les nouveau noms sera sélectionnée
Clic droit sur la sélection et COPIER
clic droit sur la cellule A3 et Collage Spécial/sélectionne Valeur/OK
efface la colonne U pour ne pas surcharger ton fichier déjà volumineux
lorsque tu auras terminé reviens faire signe pour continuer
déjà dans ton tableau les saisies ne sont pas identiques, certaines avec des espaces au début, d'autre en fin voire des doubles espaces
commence par faire le ménage avec cette formule en cellule U3
=SUPPRESPACE(A3)
et incrémente la vers le bas jusqu'à U2541
par l'incrémentation la plage U3:U2541 contenant les nouveau noms sera sélectionnée
Clic droit sur la sélection et COPIER
clic droit sur la cellule A3 et Collage Spécial/sélectionne Valeur/OK
efface la colonne U pour ne pas surcharger ton fichier déjà volumineux
lorsque tu auras terminé reviens faire signe pour continuer
Nasa2142
Messages postés
10
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
23 janvier 2018
23 janv. 2018 à 11:16
23 janv. 2018 à 11:16
Ok, 1ère étape fini, j'avais pas remarquer ces espaces qui aurait compliquer la suite... Merci
Mike-31
Messages postés
18345
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 novembre 2024
5 104
23 janv. 2018 à 14:40
23 janv. 2018 à 14:40
Re,
le fichier est important et ralenti le fonctionnement des formules et mériterait d'être traité par VBA mais on va essayer de faire simple avec quelques manips
commence par sélectionner la plage colonne A de A3 à A2541
Mise en forme conditionnelle
colle cette formule
=NB.SI(DECALER($A$3;0;0;LIGNE()-3);DECALER($A$3;LIGNE()-3;0))>0
format et choisir une couleur de remplissage exemple rouge
les doublons se coloriseront à l'exception du premier
à partir de T3 jusqu'en bas de tes données crée une suite (en T3 saisir 1 et en T4 saisir 2 et incrémenter les deux cellules vers le bas
et reviens sur la discussion
le fichier est important et ralenti le fonctionnement des formules et mériterait d'être traité par VBA mais on va essayer de faire simple avec quelques manips
commence par sélectionner la plage colonne A de A3 à A2541
Mise en forme conditionnelle
colle cette formule
=NB.SI(DECALER($A$3;0;0;LIGNE()-3);DECALER($A$3;LIGNE()-3;0))>0
format et choisir une couleur de remplissage exemple rouge
les doublons se coloriseront à l'exception du premier
à partir de T3 jusqu'en bas de tes données crée une suite (en T3 saisir 1 et en T4 saisir 2 et incrémenter les deux cellules vers le bas
et reviens sur la discussion
Nasa2142
Messages postés
10
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
23 janvier 2018
23 janv. 2018 à 15:03
23 janv. 2018 à 15:03
Excuse moi, où faut-il coller la formule ?
Mike-31
Messages postés
18345
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 novembre 2024
5 104
23 janv. 2018 à 15:07
23 janv. 2018 à 15:07
Tu sélectionne ta plage A3:A2541ensuite clic sur Mise en forme conditionnelle
Nouvelle règle
sélectionne Utiliser une formule pour déterminer etc ....
dans la zone de saisie colle la formule
puis Format/Remplissage/sélectionne la couleur
Nouvelle règle
sélectionne Utiliser une formule pour déterminer etc ....
dans la zone de saisie colle la formule
puis Format/Remplissage/sélectionne la couleur
Nasa2142
Messages postés
10
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
23 janvier 2018
23 janv. 2018 à 15:26
23 janv. 2018 à 15:26
Ok c'est bon !
22 janv. 2018 à 21:30
Comment puis-je te faire parvenir le fichier pour que te regardes plus spécifiquement si cela te dérange pas ?