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 :

Excel en Base de données, devenir fou?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut Excel en Base de données, devenir fou?
    Bonjour,

    Voila plusieurs semaines que je suis confronté à ce problème.

    J'utilise deux feuilles excel comme base de données.
    L'une fonctionne au poil, super rien à dire.

    Mais lorsque j'ai ajouté la seconde j'ai été confronté à plusieurs soucis.

    Les requête ne fonctionne pas si dans mes cellules j'ai des chiffres.

    J'ai placé mes cellules en "Texte" car elle peuvent contenir du texte+des chiffres ou juste des chiffre.

    Voici ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    NomModif = "1"
    Requete = "SELECT Description FROM [TableModif$] WHERE Numero_Version='" & NomModif & "'"
    Rst.Open Requete, Cn, adOpenStatic
    J'ai l'erreur sur cette dernière ligne qui dit :

    Type de données incompatible dans l'expression du critère.

    Je deviens "Fou" car sur l'autre feuilles j'ai le même type de données et les requetes fonctionnent très bien...

    Merci de votre aide.

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Juste une idée, remplacerpar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE Cstr(Numero_Version)
    PGZ

  3. #3
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    En gros la ligne serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Requete = "SELECT Description FROM [TableModif$] WHERE CStr(Numero_Version)='" & NomModif & "'"
    Rst.Open Requete, Cn, adOpenStatic
    ???
    Mais le CStr n'est pas reconnu par SQL si???

    J'pense qu'il y à un truque que j'ai pas pigé...

    Merci beaucoup en attendant.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    Bonjour,

    Nouvelle erreur.

    Ta methode fonctionne si la valeur recherchée est de type "Nombre", si j'ai du texte ça échoue.

    J'ai une erreur :

    Utilisation Incorrecte de Null

    Je ne comprend vraiment plus rien...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    Voici un bout de mon fichier qui illustre très bien mon soucis...

    C'est à ne rien comprendre...

    Merci beaucoup de votre aide.
    Fichiers attachés Fichiers attachés

  6. #6
    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 est possible que ton champ Numero_Version soit vide pour un ou plusieurs enregistrements.
    Essaie de passer l'erreur en utilisant Nz()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Requete = "SELECT Description FROM [TableModif$] WHERE CStr(Nz(Numero_Version,''))='" & NomModif & "'"
    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

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

Discussions similaires

  1. Excel ou base de données ?
    Par Mourne dans le forum Débuter
    Réponses: 7
    Dernier message: 06/02/2009, 12h07
  2. excel et base de donnée
    Par sam83 dans le forum C++Builder
    Réponses: 1
    Dernier message: 31/01/2008, 15h24
  3. Données Excel vers Base de données
    Par godmich dans le forum Windows Forms
    Réponses: 5
    Dernier message: 26/11/2007, 18h23
  4. Excel et base de données Access, un tuto?
    Par z980x dans le forum Excel
    Réponses: 2
    Dernier message: 27/04/2007, 11h02
  5. excel comme base de données
    Par ph4prod dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/11/2005, 11h49

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