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 :

Probleme sur appel de fonction auto depuis une cellule faisant une affectation [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut Probleme sur appel de fonction auto depuis une cellule faisant une affectation
    Bonjour,
    Je fais un appel de fonction qui se déroule automatiquement, puisque
    je suis en mode calcul automatique mais qui refuse de réaliser une affectation en même temps.
    La fonction est dans une cellule et elle récupère 2 parametres postés dans deux autres cellules.
    L'objectif est de mettre en temps réel à jour des données dans un autre onglet.
    Peut être ce n'est pas possible, mais j'aimerais en être certain.
    Pour le moment cela déclenche l'erreur :
    Erreur définie par l'application ou par l'objet.
    Voici la fonction. Merci de votre retour.

    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
    Function MAJ_Marque_Bordereau(P_An As String, P_Eo As String) As String
    Dim A_comparer As String
    Dim P_A As String
    Dim P_B As String
    Dim i  As Integer
    On Error GoTo GestionErreur
    P_A = Left(P_An, Len(P_An) - 1)
    P_B = Left(P_Eo, Len(P_Eo) - 1)
    ' parcours du bordereau de prix
    With ActiveWorkbook.Worksheets("Bordereau de prix")
    For i = .Range("FIN_DE_TABLEAU_BORDEREAU").Row To .Range("Fin_Mnt_RoomTV").Row
        If .Range("B" & i) = "AN" Or .Range("B" & i) = "EO" Then
        A_comparer = .Range("C" & i)
            If InStr(A_comparer, P_A) > 0 Or InStr(A_comparer, P_B) > 0 Then
                .Range("J" & i).Value = 1
            End If
        End If
    Next i
    ' Fonction qui ne renvoie rien de visible
    End With
    MAJ_Marque_Bordereau = ""
    finTrt:
    Exit Function
    GestionErreur:
    MsgBox Error$
    Resume finTrt
    End Function

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Manifestement, tu voudrais par le biais d'une fonction personnalisée modifier un objet range (cellule). Ce n'est pas possible.
    Une fonction personnalisée renvoie uniquement une donnée dans la cellule qui l'invoque.

  3. #3
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut
    Merci de votre retour.
    Je serais intéressé sur la compréhension de la mécanique interne à VBA/excel qui interdit ce type d'action.
    cordialement

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je te suggère la lecture de cet excellent didacticiel traitant de ce sujet.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. [XL-2007] problème de codage en vba ("copie d'une partie d'une cellule dans une cellule vide")
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/10/2010, 17h01
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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