Je cherche une fonction
Huguo90
Messages postés
63
Date d'inscription
Statut
Membre
Dernière intervention
-
Huguo90 Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Huguo90 Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
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.
A voir également:
- Je cherche une fonction
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Cette fonction n'est pas disponible actuellement tv lg - Forum Téléviseurs
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
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
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.
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...
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.