aide sur fonction si

julie999

XLDnaute Occasionnel
Bonsoir
J aimerais avoir un coup de pouce pour faire une fonction si en A1 que je ferais glisser vers le bas ensuite
Si le contenu de B1est égal a une cellule de la plage C1:C300 alors afficher 1 en A1 sinon afficher 2 et si B1 est vide alors A1 est vide

Merci
Julie
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : aide sur fonction si

Bonjour Julie, bonjour le forum,

Essaie avec cette fonction personnalisée Si_J (Si_Julie) à placer dans un module :

Code:
Public Function Si_J(Target As Range)
Dim cel As Range 'déclare la variable cel (CELlule)

Application.Volatile 'permet à la fonction d'être recalculer à chaque changement
For Each cel In Range("C1:C300") 'boucle sur toutes les cellules cel de la plage C1:C300
    If Target.Value = cel.Value Then 'condition : si la valeur de la cellule est égale à la valeur de la cible
        Si_J = 1 'la fonction affiche 1
        Exit Function 'sort de la fonction
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
Si_J = 2 'la fonction affiche 2
End Function
Ensuite, en A1, tu tapes =Si_J(, tu cliques sur B1, tu tapes ), et tu valides... Après tu recopies vers le bas...
Ou tu utilises ƒx, catégorie : Personnalisées...
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : aide sur fonction si

Bonjour le fil, bonjour le forum,

@Cindy
Ce n'est pas tout a fait une macro. C'est un fonction personnalisée. Il faut d'abord la copier dans un module, puis faire ce que j'explique plus haut (je vais pas me répéter)... Chez moi ça marche.
Mais pourquoi ne pas utiliser la génialissime proposition de Job ?
 

cindy75015

XLDnaute Junior
Re : aide sur fonction si

salut ronert j'essaye ta solution
en A1 je met
=Si_J(B1 )
et dans un module je met ca
Public Function Si_J(Target As Range)
Dim cel As Range 'déclare la variable cel (CELlule)

Application.Volatile 'permet à la fonction d'être recalculer à chaque changement
For Each cel In Range("C1:C300") 'boucle sur toutes les cellules cel de la plage C1:C300
If Target.Value = cel.Value Then 'condition : si la valeur de la cellule est égale à la valeur de la cible
Si_J = 1 'la fonction affiche 1
Exit Function 'sort de la fonction
End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
Si_J = 2 'la fonction affiche 2
End Function
puis je fais glisser de A1 vers A300
j'ai du oublier quelque chose je pense non
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : aide sur fonction si

Bonjour le fil, bonjour le forum,

@Cindy,
J'aurais plutôt fait le contraire :
• Copier le code dans un module
• Ensuite, en A1, tu tapes
=Si_J(, tu cliques sur B1, tu tapes ), et tu valides... Après tu recopies vers le bas...
Ou tu utilises ƒx, catégorie : Personnalisées...
Finalement il a fallu que je me répète...
 

Discussions similaires

Statistiques des forums

Discussions
312 452
Messages
2 088 544
Membres
103 880
dernier inscrit
rafaelredsc