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 :

Au lancement, modifier automatiquement des valeurs récupérées d'Access


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut Au lancement, modifier automatiquement des valeurs récupérées d'Access
    Bonjour tout le monde,

    Je ne connais pas bien Excel et je voudrais trouver un code tout bête.

    Lorsque j'ouvre un fichier Excel, il récupère des données de tables Access et j'utilise
    pour qu'il mette les données à jour.

    Cependant, je voudrais qu'au lancement, il modifie toute les cellules (d'une même colonne) où il y aurait la valeur: "1" par exemple, par un mot: "test" par exemple.

    Quelqu'un aurait il une idée ?
    Merci d'avance

    J'aurais une deuxième question une fois la solution trouvée mais je la poserais après avoir cherché un peu...

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    il faut intervenir aun niveau de ton sql sous msquery

    supposons qu'il soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select monchamp from matable;
    il faut le remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select iif(monchamp=[param1];[param2];monchamp)  from matable;
    de retour sous excel tu lies [param1],[param2] à deux cellules et tu règles ta requête pour mise à jour auto
    Elle est pas belle la vie ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    ...

    J'ai pas tout compris là.
    Ma requête a été générée automatiquement par Excel:
    Données - > Données externes -> Importer des données

    Je n'ai pas utilisé MSQuery: je devrais ?

    Lorsque j'ouvre l'utilitaire de modification des requêtes, la requête ne ressemble pas du tout à un:
    En fait, le type de commande est "Table" et le texte de la commande est juste le nom de ma table.

    Y'aurait pas un autre moyen qui serait plus à mon niveau ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Change(cells="1";"test")
    Ca n'existe pas mais ça serait bien un truc dans ce style

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    passe par données
    données externe
    créer une requête
    Elle est pas belle la vie ?

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Je ne veux pas créer de requêtes, je ne veux pas modifier des valeurs dans la base de données mais dans ma feuille excel directement.

    La feuille s'ouvre et elle récupère la colonne "Contact" d'une de mes tables. Les entrées de cette colonne "Contact" sont soit "1" soit "2".

    Je voudrais qu'après avoir charger les données de la colonne, Excel change les "1" en "physique" et les "2" en "téléphonique".

    Ces changements ne doivent pas se faire dans Access mais dans Excel. Je dois crée une requête pour ça ?

    (je galère avec MSQuery...)

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 93
    Points : 73
    Points
    73
    Par défaut
    Bonjour,

    Si tes valeurs dans cette colonne ne sont que des 1 ou 2, tu peux toujours utiliser la fonction replace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub Change()
     
    Range("A1:A50").Select ' Selection de ta colonne "Contact"
     
     
    With Selection
        .Replace what:="1", replacement:="physique"
        .Replace what:="2", replacement:="telephonique"
    End With
     
    End Sub

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Effectivement, cette solution me suffirait et je te remercie pour ton aide.

    Cependant, je me demandait s'il était possible de sélectionner l'ensemble de la feuille pour faire la modification. En effet, la méthode
    me permet de sélectionner une seule colonne.

    Est il possible d'indiquer de sélectionner toutes les colonnes de la feuille ?

    De plus, dans le VB Editor, je voudrais appeler une méthode d'une feuille nommée "sheet1" depuis le "workbook" mais je ne sais pas comment faire.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 93
    Points : 73
    Points
    73
    Par défaut
    Bonjour, je ne suis pas tres sur de comprendre ta demarche mais
    Est il possible d'indiquer de sélectionner toutes les colonnes de la feuille ?
    Ca correspond a selectionner toutes les cellules de la feuilles:

    De plus, dans le VB Editor, je voudrais appeler une méthode d'une feuille nommée "sheet1" depuis le "workbook" mais je ne sais pas comment faire.
    je ne sais pas si c'est ce que tu voulais mais voici les reponse a tes deux questions. J'espere que ca t'aidera

    @+

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/05/2009, 09h36
  2. Comment enlever la saisie semi-automatiques des valeurs de cellule?
    Par Subkill dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/06/2007, 01h05
  3. vb6: Stocker des valeurs récupérés dans un TextBox sous excel
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 32
    Dernier message: 19/07/2006, 16h12
  4. Réponses: 13
    Dernier message: 26/06/2006, 12h10
  5. Réponses: 2
    Dernier message: 28/03/2006, 11h45

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