Je cherche une fonction

Fermé
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022 - Modifié le 28 janv. 2019 à 16:30
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022 - 28 mars 2019 à 11:22
Bonjour,
Je travaille sur des adresses et je cherche à nettoyer au maximum 3 colonnes; avec adresse 1, Adresse 2 et adresse 3, Je cherche une fonction qui dit :
par exemple en adresse 1 si dans adresse il n'y pas (rue, avenue, bat, bp, etc...) alors c'est VRAI, si non c'est FAUX.

Pour adresse 2: si il n'y a pas (ZI, ZA, lieu-dit etc...) alors c'est VRAI il y en a alors c'est FAUX.

Et pour adresse 3 c'est si il n'y a pas (rue, avenue, bat, bp, ZI, ZA, lieu-dit etc...) alors c'est VRAI si non c'est FAUX.

C'est une fonction qui va s'appliquer sur chaque colonnes ; adresse 1, 2 ou 3.
Pour ne pas me prendre la tête, je vais utiliser 3 macro verif1, verf2, verif3, si c'est possible de le faire sur une seule macro serait cool. Merci d'avance.

8 réponses

tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 031
5 févr. 2019 à 23:41
Bonjour, pour les 3 adresse, tu peux combiner la fonction si() avec cherche(). Cherche() va te renvoyer 0 si rien n'est trouvé ou le numéro du caractère. En fonction de ce qui est renvoyé, avec la si() tu crées ta condition
0
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
12 févr. 2019 à 13:43
Une fonction dans une macro c'est mieux, cela m'éviterai de le refaire tout le temps.
0
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 031
19 févr. 2019 à 16:25
Bonjour, avec l'enregistreur de macro tu crées ton script et après, tu l'améliore
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
19 févr. 2019 à 16:37
Bonjour

Fournis un exemple de ton fichier avec les 3 listes exhaustives des valeurs à rechercher pour les 3 adresses en le postant sur mon-partage.fr , fais créer un lien que tu copies et reviens coller ici

Cdlmnt
Via
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
20 févr. 2019 à 17:49
Bonjour à tous

testé sur colonne A, B, C (Non précisé par hugo)
liste des mots interdits à complèter

0
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
18 mars 2019 à 16:33
Bonjour
Michel désolé de vous répondre à ce message aussi tard, j'étais en période de rush sur d'autres projets, je vous écris au sujet du code, tout donne vrai. Je vous envoie le code. c'est possible de mettre dans le la boucle for, (si les 3 colonnes sont vides alors n'affiche rien)
Option Explicit

Function Terme_interdit(activecell)
Dim Liste, Col As Byte, Cptr As Byte
Dim adresse, test As String, cpt As Byte, Tablo
'-Liste des mots interdits selon la colonne active
Col = activecell.Column
Select Case Col
Case Is = 1
Liste = Array("rue", "avenue", "bat", "bp")
Case Is = 2
Liste = Array("Zi", "ZA", "lieu-dit")
Case Is = 3
Liste = Array("rue", "avenue", "bat", "bp", "ZI", "ZA", "lieu-dit")
Case Else
GoTo Erreur
End Select


For Cptr = 0 To UBound(Liste)
test = Liste(Cptr)
'teste si la liste contient la valeur de test
On Error GoTo Valid 'sinon on valide "vrai"
If Application.Find(test, activecell) > 0 Then
Terme_interdit = "FAUX"
Exit Function
End If
Next

Exit Function

Valid:

Terme_interdit = "VRAI"
Exit Function
Erreur:


MsgBox "colonne hors champ d'action"
End Function


Merci d'avance.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
18 mars 2019 à 17:06
trop tard
0
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
18 mars 2019 à 18:05
Donc vous ne voulez pas m'aidez?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
18 mars 2019 à 19:55
Tu demandes de l'aide, on passe pas parfois des heures à essayer de t'apporter une solution le plus rapidement possible ( on a aussi des urgences personnelles à gérer) et toi, tu n'as m^me pas le minimum de politesse, ou plutôt de respect humain, pour faire signe pendant plus d'un mois pour expliquer ton silence...

Désolé mais être bénévole ne signifie pas être taillable et corvéable à Merci...
0
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
18 mars 2019 à 20:16
Vous voulais savoir la verité. La voici mon père est decédé il y a un mois et demi. Donc je ne pouvais pas vous repondre dsl.
0
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
19 mars 2019 à 15:37
Vous voulais savoir la verité. La voici mon père est decédé il y a un mois et demi. Donc je ne pouvais pas vous repondre dsl.
0
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
Modifié le 28 mars 2019 à 11:23
Bonjour,

Je suis en plein dans le sujet, et je n'arrive pas à trouver une issue possible. Je suis vraiment coincé là, merci de m'avance de votre aide.
0