Je cherche une fonction
Huguo90
Messages postés
87
Statut
Membre
-
Huguo90 Messages postés 87 Statut Membre -
Huguo90 Messages postés 87 Statut Membre -
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.
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
-
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
-
Une fonction dans une macro c'est mieux, cela m'éviterai de le refaire tout le temps.
-
Bonjour, avec l'enregistreur de macro tu crées ton script et après, tu l'améliore
-
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
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
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. -
-
-
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...
-
-
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.
-
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.
-
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.
