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 :

Pb d'incompatibilité de type


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 42
    Par défaut Pb d'incompatibilité de type
    Bonjour,

    Après une extraction d'un reporting d'un outil annexe exporter dans Excel; j'ai un code qui remplace les "." en "," afin d'obtenir des nombre puis une boucle qui compare deux autres champs et qui, si ces deux champs sont identiques, somme les valeurs extraites cependant j'obtiens un erreur d'incompatibilité de type que je n'arrive pas a résoudre. Ci-joint les formats obtenus apres le remplacement des . et ci dessous ma boucle!
    Merci!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     For i = 28 To 5 Step -1
                If .Range("R" & i).Value = .Range("R" & i - 1).Value And .Range("F" & i).Value = .Range("F" & i - 1).Value Then
                 .Range("P" & i - 1).Value = .Range("P" & i - 1).Value + .Range("P" & i).Value
                 .Rows(i).Delete
             End If
         Next i
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 42
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        .Columns("P:P").TextToColumns Destination:=.Range("P5")
    En essayant de rajouter cette ligne avant ma boucle j'obtiens désormais une erreur d'éxécution...

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,
    il n'y a aucun code dans ton fichier excel, est-ce voulu ?

    en fait tu veux sommer tes lignes si les colonnes R et P sont identiques ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  4. #4
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 42
    Par défaut
    ouic'est voulu sinon le code est bien plus long et comprend des parties sans intérêt.
    Oui si D et F sont identique entre la ligne i et i-1 (jai effectué un double tri donc je suis sure que les lignes sont l'une apres l'autre en cas d'égalité) alors je somme Pi et Pi-1 et je supprime la ligne i.

    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        .Range("P5:P225").TextToColumns Destination:=.Range("P5")
    J'obtiens un format nombre mais ma macro sarrete desormais pr erreur dincompatibilité sur l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .Range("R5") = _
            "=VLOOKUP(RC[-14],'[correspondance.xls]Feuil1'!C1:C3,3,FALSE)"
        .Range("R5").AutoFill Destination:=.Range("R5:R225"), Type:=xlFillDefault
    qui n'est qu'une rechercheV dun code dans un autre fichier et qui marchait très bien avant!

  5. #5
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 42
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .Range("R5").FormulaR1C1 = "=VLOOKUP(RC[-14],'[correspondance ]Feuil1'!C1:C3,3,FALSE)"
        .Range("R5").AutoFill Destination:=.Range("R5:R225"), Type:=xlFillDefault
    fonctionne... vas savoir pourquoi!

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

Discussions similaires

  1. Incompatibilité de type ListBox
    Par priest69 dans le forum Access
    Réponses: 1
    Dernier message: 16/11/2005, 11h19
  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