IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fonction Excel : ne fonctionne pas


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut Fonction Excel : ne fonctionne pas
    Bonjour à tous,
    J'ai une fonction excel essaia() qui doit me retourner Oui et dans une autre cellule elle doit me mettre N

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Function essaia() As String
    ' Recuperation du code motif et verification si Vide Stock
    '
    '
    codemotif = "Vide stock"
    
    '
    ' Verification que le code motif est un vide stock
    '
    i = 2
    
        '
    If codemotif = "Vide stock" Then
            '
    Selection.Locked = False
    Selection.FormulaHidden = False
    
                'on est dans le cas d'un vide stock
    essaia = "Oui"
                
    ' AQ2 contient N
    Range("AQ2").Select
    Selection.Copy
    Range("N2").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Locked = True
    Selection.FormulaHidden = False
    
    Else
    
    essaia = "N"
                ' 
    Range("N" + Trim$(Str$(i))).Select
    Selection.Locked = False
    [Selection.FormulaHidden = False
    
    End If
        '
    '
    End Function

    Puis à ma cellule N2 j'ai O et à ma cellule Z j'ai
    =essaia()

    J'obtient bien comme resultat dans Z Oui, mais N2 reste à O

    Pouvez vous me donner un coup de pousse.
    Merci

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    J'ai rien compris a ce que tu voulais faire avec ta fonction j'ai du mal a comprendre ce qu'elle fait
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut Bonjour
    Ma fonction (ici simplifier) doit me permettre d'affecter à une cellule d'appel la valeur O, et à une autre cellule elle doit mettre la valeur N (cellule N2).
    Au début je sélectionne la cellule N2 et je mettais la valeur N, mais ca ne marchait pas. Donc pour contourner le pb, j'utilise les fonctions copier, coller.

    Mais le résultat n'est toujours pas bon.
    Dans ma cellule A2 j'ai =Essaia() et dans ma cellule N2 j'ai O
    lorsque ma fonction est lancée, j'obtiens bien un O dans A2, mais j'ai toujours un O en N2, alors que je devrais avoir un N.

    J'espere que cette explication est plus clair.

  4. #4
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    Bonjour,
    J'avoue que je n'ai pas tout saisi mais un test IF ne suffirait-il pas à résoudre ton problème ?

  5. #5
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Je ne suis pas sûr de tout comprendre non plus.

    Au lieu de faire un copier-coller, utilises plutôt une simple affectation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("N2").Value = Range("AQ2").Value

  6. #6
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut Ne marche toujours pas
    Bonjour,

    Désolée j'étais sur un autre sujet, mais je suis revenue.

    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("N2").Value = Range("AQ2").Value
    et il me renvoie #VALEUR!.

    Et evidemment, je pourrai utiliser un si, mais j'ai plusieur conditions.
    Donc j'ai été obligé de faire une fonction. Je vais essayer d'expliquer un peu plus clair.
    J'ai une feuille tableau Excel.
    Lorsque ma colonne Inject passe à O ma collonne PAD passe à O, et la colonne Injection VS = N et doit etre verrouillé.
    Donc pour essayer de faire ceci, j'ai ecrit dans la colonne PAD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(A="N";essaia();"N")
    Ma fonction essaia() doit faire
    mettre PAD à O, donc elle renvoie O, et mettre injection VS à N. Et c'est là le pb, car ma fonction est appelée d'une cellule, elle renvoie pour cette cellule O et elle veut modifier en même temps une autre cellule.

    Voilà, j'espere que j'ai été un peu plus clair.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/09/2006, 17h46
  2. [Mail] fonction mail qui fonctionne pas
    Par digger dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2006, 22h28
  3. fonction ridicule qui fonctionne pas sous firefox
    Par Isses dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/06/2006, 12h08
  4. fonction plpgsql qui fonctionne pas...
    Par Empty_body dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/01/2006, 18h22
  5. La fonction CurrentDb() ne fonctionne pas dans une requête
    Par Sébastien Le Goyet dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2005, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo