Excel programmation
Résolu/Fermé
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
-
14 déc. 2009 à 12:12
caba_44 Messages postés 99 Date d'inscription lundi 14 décembre 2009 Statut Membre Dernière intervention 24 novembre 2022 - 4 janv. 2010 à 16:05
caba_44 Messages postés 99 Date d'inscription lundi 14 décembre 2009 Statut Membre Dernière intervention 24 novembre 2022 - 4 janv. 2010 à 16:05
A voir également:
- Excel programmation
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si et excel - Guide
- Déplacer une colonne excel - Guide
- Excel moyenne - Guide
24 réponses
bonjour
la valeur que tu desires en colonne W tu peux la trouver en utilisant la fonction RECHERCHEV .
lavaleur cherchée (enfeuil 1) sera les n° de tel ; la matrice (en feil 2 ) sra le tableau ; len° de colonne sera le nb de colonne pour arriver jusqu'a la colonne des e-mails(incluse) ; mets un; 0 si c'est du vrac
tu rentres ça en colonne W à la 1ere ligne a renseigner puis tu tires vers le bas
a+
la valeur que tu desires en colonne W tu peux la trouver en utilisant la fonction RECHERCHEV .
lavaleur cherchée (enfeuil 1) sera les n° de tel ; la matrice (en feil 2 ) sra le tableau ; len° de colonne sera le nb de colonne pour arriver jusqu'a la colonne des e-mails(incluse) ; mets un; 0 si c'est du vrac
tu rentres ça en colonne W à la 1ere ligne a renseigner puis tu tires vers le bas
a+
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
14 déc. 2009 à 14:26
14 déc. 2009 à 14:26
Merci pour vos réponses.
Cependant, je n'ai pas tout saisi car l'objectif est qu'après avoir reconnu les lignes équivalentes entre la feuille 1 et la feuille 2, il faut coller la cellule W de la feuille 2 vers le cellule W de la feuille 1.
Comment faire svp ?
Merci d'avance
Mathieu
Cependant, je n'ai pas tout saisi car l'objectif est qu'après avoir reconnu les lignes équivalentes entre la feuille 1 et la feuille 2, il faut coller la cellule W de la feuille 2 vers le cellule W de la feuille 1.
Comment faire svp ?
Merci d'avance
Mathieu
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 430
14 déc. 2009 à 14:39
14 déc. 2009 à 14:39
Bonjour
vous ne donnez pas assez d'info sur votre fichier pour pouvoir être complet dans nos indications,toutefois,pour préciser ce que veux dire Gilou, un exemple à adapter:
sur votre feuille 2 , supposons que votre champ d'information commence en A avec le nom , en B avec le N° de téléphone, en C avec une info quelconque et en D avec l'adresse Mail.
dans votre feuille 1 on suppsoe que le N° de téléphone est dans la colonne F, à partir de F2
placez en W2:
=SI(ESTERREUR(RECHERCHEV(F2;feuil2!$B$2:$D$30000;3;0);"";RECHERCHEV(F2;feuil2!$B$2:$D$30000;3;0))
cette formule va recherche en colonne B de feuil2 la valeur de F2 de la feuille 1 et ressortir en W2 la valeur trouvée dans la 3° colonne du champ indiqué, soit ici colonne D)
le premier item de la formule sert à éviter l'affichage parasite #/NA si la valeur de F2 n'est pas trouvée .
A adapter à vos champ et vos noms de feuilles:
feuil2 donne le nom de la feuille où se situe le champ de recherche et doit être suivi du point d'exclamation dans la formule avant d'inscrire les limites de champ.Les limites sont assorties ces signes $( par exemple $B$2:$D$300) pour bloquer les champs et permettre de "tirer "la formule sur toute la hauteur de la colonne W
Si vous n'arrivez pas avec cela, il faudra en dire plus sur l'organisation de vos données.
Bonne chance
crdlmnt
vous ne donnez pas assez d'info sur votre fichier pour pouvoir être complet dans nos indications,toutefois,pour préciser ce que veux dire Gilou, un exemple à adapter:
sur votre feuille 2 , supposons que votre champ d'information commence en A avec le nom , en B avec le N° de téléphone, en C avec une info quelconque et en D avec l'adresse Mail.
dans votre feuille 1 on suppsoe que le N° de téléphone est dans la colonne F, à partir de F2
placez en W2:
=SI(ESTERREUR(RECHERCHEV(F2;feuil2!$B$2:$D$30000;3;0);"";RECHERCHEV(F2;feuil2!$B$2:$D$30000;3;0))
cette formule va recherche en colonne B de feuil2 la valeur de F2 de la feuille 1 et ressortir en W2 la valeur trouvée dans la 3° colonne du champ indiqué, soit ici colonne D)
le premier item de la formule sert à éviter l'affichage parasite #/NA si la valeur de F2 n'est pas trouvée .
A adapter à vos champ et vos noms de feuilles:
feuil2 donne le nom de la feuille où se situe le champ de recherche et doit être suivi du point d'exclamation dans la formule avant d'inscrire les limites de champ.Les limites sont assorties ces signes $( par exemple $B$2:$D$300) pour bloquer les champs et permettre de "tirer "la formule sur toute la hauteur de la colonne W
Si vous n'arrivez pas avec cela, il faudra en dire plus sur l'organisation de vos données.
Bonne chance
crdlmnt
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
14 déc. 2009 à 15:36
14 déc. 2009 à 15:36
Navré, ça ne fonctionne pas.
Explication concrète
Feuille 1 intitulée BASE
Feuille 2 intitulée VONEO
Feuille1
A1 = CODE PROSPECT
B1 = RAISON SOCIALE
C1 = ADRESSE
ENTRE D1 ET N1 = info quelconque
O1 = TEL
ENTRE P1 ET V1 = info quelconque
W1 = MAIL VIDE
Feuille2 est configuré de la même manière sauf que:
A1 = COLONNE VIDE
W1 = MAIL REMPLI
OBJECTIF: Copier la cellule W1 de la feuille 2 vers la cellule W1 de la feuille 1 tout en faisant en sorte que les numéros de téléphones soient les mêmes pour ne pas se tromper de ligne.
Pour info, je crois que votre formule ne fonctionnait pas, peut-être manquait-il une valeur, une paranthèse.
Merci pour votre implication
Explication concrète
Feuille 1 intitulée BASE
Feuille 2 intitulée VONEO
Feuille1
A1 = CODE PROSPECT
B1 = RAISON SOCIALE
C1 = ADRESSE
ENTRE D1 ET N1 = info quelconque
O1 = TEL
ENTRE P1 ET V1 = info quelconque
W1 = MAIL VIDE
Feuille2 est configuré de la même manière sauf que:
A1 = COLONNE VIDE
W1 = MAIL REMPLI
OBJECTIF: Copier la cellule W1 de la feuille 2 vers la cellule W1 de la feuille 1 tout en faisant en sorte que les numéros de téléphones soient les mêmes pour ne pas se tromper de ligne.
Pour info, je crois que votre formule ne fonctionnait pas, peut-être manquait-il une valeur, une paranthèse.
Merci pour votre implication
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
14 déc. 2009 à 16:14
14 déc. 2009 à 16:14
Pour info aussi, ca ne prend pas les chiffres comme les numéros de tel mais uniquement les lettres j'ai l'impression, non ?
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
14 déc. 2009 à 16:33
14 déc. 2009 à 16:33
Ok merci j'ai compris, j'ai réussi à le faire avec une autre variable que le numéro de téléphone. Mais c'est pourtant bien avec le numéro de téléphone que je dois rechercher.Cependant, les nombres uniquement quelque soit le format de cellule(click gauche/propriété/format de cellule), ç a ne fonctionne pas. Il m'indique #REF!.
Mis à part ça tout fonctionne.
Savez-vous pourquoi les chiffres et uniquement les chiffres ne peuvent être pris en compte ?
Merci
Mis à part ça tout fonctionne.
Savez-vous pourquoi les chiffres et uniquement les chiffres ne peuvent être pris en compte ?
Merci
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
14 déc. 2009 à 17:09
14 déc. 2009 à 17:09
Pour exemple, www.francejoint.fr/test/test.xls
Vous verrez les deux feuilles.
Objectif remplacer les emails vides et sinon laissr telquel en feuille1
Vous verrez les deux feuilles.
Objectif remplacer les emails vides et sinon laissr telquel en feuille1
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 430
14 déc. 2009 à 17:12
14 déc. 2009 à 17:12
Re
ça ne fonctionne pas probablement car vos N° de téléphone ne sont pas rentrès sous le même format, car en principe cela fonctionne bien aussi avec des chiffres!
Ainsi un N° de téléphone rentré en groupe de 2 avec des blancs est un texte et n'est pas identique pour excel, à un N° rentré sans blanc et formaté 'téléphone",dont l'affichage est le même, mais qui reste un nombre sans espace malgrè la présentation.
C'est sans doute de cette différence que vient le problème
Vous pouvez constater si cela est bien la cause et régler le problème comme suit:
sur vos données de référence , sélectionnez la colonne des N° de téléphone:
Barre d'outil /. Edition / Remplacer
fenêtre du haut entrez un blanc
fenêtre du bas ne mettez rien et cliquez sur remplacer tout.
Vous verrez tout de suite si les affichages se modifient ou non.
Faites la même chose dans votre seconde feuille et après cela, vous pouvez formater vos colonnes en format tel, tout devrait marcher.
Pour mémoire, un N° de télphone formaté tél s'affiche comme un nombre classique dans la barre de formule.
Crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
ça ne fonctionne pas probablement car vos N° de téléphone ne sont pas rentrès sous le même format, car en principe cela fonctionne bien aussi avec des chiffres!
Ainsi un N° de téléphone rentré en groupe de 2 avec des blancs est un texte et n'est pas identique pour excel, à un N° rentré sans blanc et formaté 'téléphone",dont l'affichage est le même, mais qui reste un nombre sans espace malgrè la présentation.
C'est sans doute de cette différence que vient le problème
Vous pouvez constater si cela est bien la cause et régler le problème comme suit:
sur vos données de référence , sélectionnez la colonne des N° de téléphone:
Barre d'outil /. Edition / Remplacer
fenêtre du haut entrez un blanc
fenêtre du bas ne mettez rien et cliquez sur remplacer tout.
Vous verrez tout de suite si les affichages se modifient ou non.
Faites la même chose dans votre seconde feuille et après cela, vous pouvez formater vos colonnes en format tel, tout devrait marcher.
Pour mémoire, un N° de télphone formaté tél s'affiche comme un nombre classique dans la barre de formule.
Crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
15 déc. 2009 à 08:48
15 déc. 2009 à 08:48
Pour exemple, www.francejoint.fr/test/test.xls
Vous verrez les deux feuilles.
Objectif remplacer les emails vides et sinon laisesr tel quel en feuille1
Non j'ai pourtant vérifier les numéros de téléphone. Ca ne fonctionne qu'à partir de la colonne B
Bizarre
Vous verrez les deux feuilles.
Objectif remplacer les emails vides et sinon laisesr tel quel en feuille1
Non j'ai pourtant vérifier les numéros de téléphone. Ca ne fonctionne qu'à partir de la colonne B
Bizarre
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 430
15 déc. 2009 à 10:06
15 déc. 2009 à 10:06
Bonjour
selon votre modéle, j'ai testé la formule en colonne X essayez):
=RECHERCHEV(U2;Base1!$O$2:$W$1000;9;0)
Elle renvoie bien les adresse mail .... qui y sont déja, mais pas les autres, pour la bonne raison que:
soit les n° de téléphone en U dans la feuille base 1 , tel OK mais pas de Mail?)
Pour mémoire:
le code cherché n'est pas présent: la fonction renvoi #/NA
le code est présent sans adresse mail: la fonction renvoie 0
vérifier!
Crdslmnt
selon votre modéle, j'ai testé la formule en colonne X essayez):
=RECHERCHEV(U2;Base1!$O$2:$W$1000;9;0)
Elle renvoie bien les adresse mail .... qui y sont déja, mais pas les autres, pour la bonne raison que:
soit les n° de téléphone en U dans la feuille base 1 , tel OK mais pas de Mail?)
Pour mémoire:
le code cherché n'est pas présent: la fonction renvoi #/NA
le code est présent sans adresse mail: la fonction renvoie 0
vérifier!
Crdslmnt
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
15 déc. 2009 à 10:32
15 déc. 2009 à 10:32
Bonjour,
comme il s'agit d'indiquer les mails absents sans toucher les autres déjà inscrits en feuille "base", il faudrait parcourir les 30000 lignes et coller la fonction RECHERCHEV au fur et à mesure...
je propose donc une solution VBA qui remplit les e-mails manquants et présents dans la liste base1 et signale une éventuelle erreur de N) téléphone
Edit à 11h 30 ajouter option base 1 en t^te de macro
comme il s'agit d'indiquer les mails absents sans toucher les autres déjà inscrits en feuille "base", il faudrait parcourir les 30000 lignes et coller la fonction RECHERCHEV au fur et à mesure...
je propose donc une solution VBA qui remplit les e-mails manquants et présents dans la liste base1 et signale une éventuelle erreur de N) téléphone
option base 1 Sub copier_mel() Dim nbre As Long, cptr As Long Dim tablo1 Dim lig As Long, texto As String With Sheets("base1") nbre = .Range("O65536").End(xlUp).Row - 1 ReDim tablo(nbre, 2) For cptr = 1 To nbre tablo(cptr, 1) = .Cells(cptr + 1, 15) tablo(cptr, 2) = .Cells(cptr + 1, 23) Next End With With Sheets("base") Application.ScreenUpdating = False For cptr = 1 To nbre On Error Resume Next lig = .Columns(15).Find(tablo(cptr, 1), .Cells(1, 15), xlValues).Row If Err.Number = 0 Then .Cells(lig, 23) = tablo(cptr, 2) Else flag = True texto = texto & tablo(cptr, 1) & "; " Exit For End If Next End With If flag Then MsgBox "numéros inconnus: " & vbLf & texto & "; " End Sub
Edit à 11h 30 ajouter option base 1 en t^te de macro
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
15 déc. 2009 à 10:41
15 déc. 2009 à 10:41
Merci pour les infos,
J'ai besoin d'un peu de temps pour digérer les infos.
Je vais essayer de comprendre tout ça.
Merci beacoup, je reviens vers vous fin de journée
Bye
J'ai besoin d'un peu de temps pour digérer les infos.
Je vais essayer de comprendre tout ça.
Merci beacoup, je reviens vers vous fin de journée
Bye
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
15 déc. 2009 à 11:28
15 déc. 2009 à 11:28
re,
Il faut ajouter
Option base 1 au dessus de la macro !!!
avec mes excuses...
Il faut ajouter
Option base 1 au dessus de la macro !!!
avec mes excuses...
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
15 déc. 2009 à 11:56
15 déc. 2009 à 11:56
Bonjour,
Bon j'ai mis du temps étant novice, mais je vois comment faire fonctionner une macro, etc...
J'ai essayé tout à l'aire de fonctionner.
Option base 1 au dessus de la macro ? que voulez-vous dire ?
J'imagine que je peux combiner plusieurs macros sur le même document si je souhaite entrer 2 autres données à savoir contact et nom du poste.
En tout cas, vous avez été d'une grande aide.
Et, je suis très étonné des capacités d'excel,
Un grand merci
Mathieu
Bon j'ai mis du temps étant novice, mais je vois comment faire fonctionner une macro, etc...
J'ai essayé tout à l'aire de fonctionner.
Option base 1 au dessus de la macro ? que voulez-vous dire ?
J'imagine que je peux combiner plusieurs macros sur le même document si je souhaite entrer 2 autres données à savoir contact et nom du poste.
En tout cas, vous avez été d'une grande aide.
Et, je suis très étonné des capacités d'excel,
Un grand merci
Mathieu
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
15 déc. 2009 à 12:24
15 déc. 2009 à 12:24
Re,
"Option base 1" car:
les variables-tableaux ( ma variable tablo) commence à 0 et non à 1
par exemple; tabloX(0) donne la 1° valeur dans tabloX
base 1 m'évite d'avoir à jongler avec les compteurs et les cellules...
la méthode "variables-tableaux" permet de gagner du temps ( rapport environ 600 à 1000) dans l'exécution par rapport à des instructions du type "select-sélection" et "copy-paste"
Dans les grands tableaux (2500 et 30000), cette méthode est à privilégiée
:-x
"Option base 1" car:
les variables-tableaux ( ma variable tablo) commence à 0 et non à 1
par exemple; tabloX(0) donne la 1° valeur dans tabloX
base 1 m'évite d'avoir à jongler avec les compteurs et les cellules...
la méthode "variables-tableaux" permet de gagner du temps ( rapport environ 600 à 1000) dans l'exécution par rapport à des instructions du type "select-sélection" et "copy-paste"
Dans les grands tableaux (2500 et 30000), cette méthode est à privilégiée
:-x
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
15 déc. 2009 à 13:54
15 déc. 2009 à 13:54
Merci beaucoup pour votre implication, vous m'enlever une épine du pied
A la prochaine
Mahieu
A la prochaine
Mahieu
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
30 déc. 2009 à 10:49
30 déc. 2009 à 10:49
Bonjour,
Au sujet de la macro que vous avez réalisé. Si je comprends bien, elle fonctionne si dans "Base1" on retrouve tous les numéros de tel (colonne 15) aussi dans la feuille "Base".
Mais si dans "Base1", j'ai des numéros qui n'existent pas dans "Base", alors est-ce la même maxro ?
Car quand je l'active, j'ai une erreur m'indiquant "numéros inconnus (numéro de téléphone); ;"
En fait, je souhaiterais savoir comment je pourrais remedier à ce problème.
Quand le numéros n'existent pas dans l'autre feuille, alors on passe à la suite.
Est-ce possible ?
Merci d'avance
Mathieu
Au sujet de la macro que vous avez réalisé. Si je comprends bien, elle fonctionne si dans "Base1" on retrouve tous les numéros de tel (colonne 15) aussi dans la feuille "Base".
Mais si dans "Base1", j'ai des numéros qui n'existent pas dans "Base", alors est-ce la même maxro ?
Car quand je l'active, j'ai une erreur m'indiquant "numéros inconnus (numéro de téléphone); ;"
En fait, je souhaiterais savoir comment je pourrais remedier à ce problème.
Quand le numéros n'existent pas dans l'autre feuille, alors on passe à la suite.
Est-ce possible ?
Merci d'avance
Mathieu
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
30 déc. 2009 à 11:07
30 déc. 2009 à 11:07
Bonjour,
Excuses moi, mais je n'ai plus du tout le pb en tête!!!
j'essaierai de m'y replonger dans la journée....
Excuses moi, mais je n'ai plus du tout le pb en tête!!!
j'essaierai de m'y replonger dans la journée....
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
30 déc. 2009 à 11:13
30 déc. 2009 à 11:13
OK merci.
Le propos était d'insérer automatiquement les emails d'une base à l'autre en tenant compte du fait que les numéros devaient être identique entre les 2 base (phase reconnaissante avec de copier coller)
Merci en tout cas
Mathieu
Le propos était d'insérer automatiquement les emails d'une base à l'autre en tenant compte du fait que les numéros devaient être identique entre les 2 base (phase reconnaissante avec de copier coller)
Merci en tout cas
Mathieu
caba_44
Messages postés
99
Date d'inscription
lundi 14 décembre 2009
Statut
Membre
Dernière intervention
24 novembre 2022
5
4 janv. 2010 à 11:59
4 janv. 2010 à 11:59
Bonjour,
Je me permets de vous relancer afin de savoir si vous savez ce qui ne fonctionne pas dans la formule.
En attendant de vous lire,*
Mathieu
Je me permets de vous relancer afin de savoir si vous savez ce qui ne fonctionne pas dans la formule.
En attendant de vous lire,*
Mathieu