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

VBA Discussion :

Message incompatibilité de type


Sujet :

VBA

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    agent administratif
    Inscrit en
    Décembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : agent administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Message incompatibilité de type
    Bonjour,
    Je débute en VBA, je cherche à sécuriser l'accès à un tcd par comparaison avec un champ texte et un champ "n°agent".
    Apparemment, la concaténation des deux variables est fausse.
    Voilà ce que j'ai écrit, modifié et remodifié, avec toujours le message "incompatibilité de type"
    Quelqu'un peut-il m'aider ?
    Merci
    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
     
    Sub Macro1()
    '
    ' Macro1 Macro
    '
    Dim vpole As String
    Dim vagt As Integer
    Sheets("Accueil").Select
    vpole = InputBox("veuillez renseigner l'intitulé du pôle de la liste ")
    Range("a1").Select
    vagt = InputBox("Veuillez renseigner votre n° d'agent sans le 0")
    Range("b1").Select
    vagt = CStr("b1")
    Dim Vtot As String
    Vtot = CStr(vpole & vagt)
    Range("c1").Select
    If (Application.Match("e4:e24", Vtot, 0)) Then ActiveCell.Value = vpole Else mgsbox = "Nom de pôle et d'agent incompatible"
    On Error GoTo 0
    Range("a1").Select
    Sheets("TCD").Visible = True
    Sheets("TCD").Select
    ActiveSheet.PivotTables("pole").PivotFields("POLE "). _
            ClearAllFilters
    ActiveSheet.PivotTables("pole").PivotFields("POLE "). _
            CurrentPage = vpole
    Range("a1").Select
     
    End Sub

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour

    J'étais en train de chercher l'incompatibilité dénoncée dans ce code peu lisible (non indenté et entre balises code), lorsque je suis "tombé" sur cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    vagt = InputBox("Veuillez renseigner votre n° d'agent sans le 0")
    Range("b1").Select
    vagt = CStr("b1")
    qui n'a rien à voir avec l'incompatibilité en cause mais me décourage à divers titres de participer.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    agent administratif
    Inscrit en
    Décembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : agent administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Réponse
    Je retente ma chance vers vous même si je suis conscient de mes grosses lacunes...
    J'ai essayé de clarifier ce que je veux faire ci dessous...
    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
    Sub Macro1()
    '
    '
    Dim vpole As String
    Dim vagt As String
    Dim Vtot As String
    '
    Sheets("Accueil").Select
    ' Renseignement du champ pole qui sera sélectionner dans le tableau croisé dynamique
    vpole = InputBox("veuillez renseigner l'intitulé du pôle de la liste ")
    ' Renseignement du N° d'agent associé au pole, contrôle de cohérence
    vagt = InputBox("Veuillez renseigner votre n° d'agent sans le 0")
    ' Concaténation des deux variables
    Vtot = CStr(vpole & vagt)
    ' Vérification que la variable vtot existe dans les cellules e4 à e24 sinon retour au départ
    If (Application.Match("e4:e24", Vtot, 0)) Then ActiveCell.Value = vpole Else mgsbox = "Nom de pôle et N°agent incompatibles"
    '
    ' Activation de la feuille cachée du tableau croisé qui sera protégée par mot de passe
    Sheets("TCD").Visible = True
    Sheets("TCD").Select
    ' Sélection du ole concerné dans le TCD
    ActiveSheet.PivotTables("pole").PivotFields("POLE "). _
            ClearAllFilters
    ActiveSheet.PivotTables("pole").PivotFields("POLE "). _
            CurrentPage = vpole
    Range("a1").Select
     
    End Sub
    Merci


    Citation Envoyé par unparia Voir le message
    Bonjour

    J'étais en train de chercher l'incompatibilité dénoncée dans ce code peu lisible (non indenté et entre balises code), lorsque je suis "tombé" sur cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    vagt = InputBox("Veuillez renseigner votre n° d'agent sans le 0")
    Range("b1").Select
    vagt = CStr("b1")
    qui n'a rien à voir avec l'incompatibilité en cause mais me décourage à divers titres de participer.

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Je retente ma chance vers vous
    Mais tu ne fais pas d'efforts pour augmenter tes chances.
    Relis-moi donc -->>
    J'étais en train de chercher l'incompatibilité dénoncée dans ce code peu lisible (non indenté et entre balises code),...
    EDIT : je vais tout de même faire un tout petit effort en dépit de l'absence du tien :
    CurrentPage est un objet. Il n'est pas une chaîne de caractères.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

Discussions similaires

  1. [AC-2016] message : incompatibilité de type
    Par Chree74 dans le forum VBA Access
    Réponses: 3
    Dernier message: 03/01/2017, 15h43
  2. Message incompatibilité de type
    Par Daniel MOREAU dans le forum Access
    Réponses: 5
    Dernier message: 10/10/2005, 20h57
  3. incompatibilité de type
    Par zooffy dans le forum Access
    Réponses: 2
    Dernier message: 13/06/2005, 15h12
  4. Incompatibilité de types dans un formulaire
    Par ahage4x4 dans le forum ASP
    Réponses: 3
    Dernier message: 03/05/2005, 15h39
  5. [XSD] Incompatibilité des types xs:ID et xs:IDREF ?
    Par Cpt.FLAM dans le forum Valider
    Réponses: 6
    Dernier message: 08/04/2005, 14h54

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