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 :

Modification enregistrement dans classeur fermé


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
    Activités informatiques diverses
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Activités informatiques diverses
    Secteur : Service public

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Par défaut Modification enregistrement dans classeur fermé
    Bonsoir.
    Grâce à ce tuto http://silkyroad.developpez.com/VBA/...sFermes/#LIV-C j'arrive à modifier une ligne dans un classeur fermé jusqu'au point où une entête de colonne comporte un point.
    Ainsi ce code fonctionne sans problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    strSQL = "UPDATE [" & acFeuille & "$] SET " & _
      "[Valeur objet vendu]='" & strValObj & "' " & _
      "WHERE [Numéro du dossier] = '" & strDsr & "'"
    alors que celui là plante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    strSQL = "UPDATE [" & acFeuille & "$] SET " & _
      "[Valeur obj. vendu]='" & strValObj & "' " & _
      "WHERE [Numéro du dossier] = '" & strDsr & "'"
    Le doublage du caractère . (point) ou l'ajout des caractères habituel(' '') n'y fait rien.

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, déjà ce n'est pas le bon forum, ensuite car cela fait partie des caractères interdits dans les noms de champ :

    · Accent grave (')
    · Point d'exclamation (!)
    · Point (.)
    · BRACKET([])
    · Espace de début
    · Caractères non imprimables

  3. #3
    Membre éprouvé
    Homme Profil pro
    Activités informatiques diverses
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Activités informatiques diverses
    Secteur : Service public

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Par défaut
    Merci.
    Cordialement, Dominique.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour replace le point par #
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    trSQL = "UPDATE [" & acFeuille & "$] SET " & _
      "[Valeur obj# vendu]='" & strValObj & "' " & _
      "WHERE [Numéro du dossier] = '" & strDsr & "'"
    Dernière modification par Invité ; 17/12/2014 à 09h23.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par PapouDomi
    Citation Envoyé par rdurupt
    (Message Privé)
    Bonjour replace le point par #
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    trSQL = "UPDATE [" & acFeuille & "$] SET " & _
      "[Valeur obj# vendu]='" & strValObj & "' " & _
      "WHERE [Numéro du dossier] = '" & strDsr & "'"
    Bonjour.
    Merci beaucoup, cela fonctionne parfaitement.
    Si j'ose abuser, connaissez vous une macro (fonction) qui retourne, à partir d'un classeur fermé, le numéro de ligne d'une cellule contenant une valeur donnée.
    Cordialement, Dominique.
    pour retourner la le N° de ligne non sauf si tu as prévue un champs pur cela.

    en revanche une requête qui te retourne les infos sur le contenu d'une ligne oui!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sql "Select * from [Feuill1$] where Champ1='Bof';"
    set rs= creatobject("Adodb.RecordSet")
    rs.open sql, cnx
    if rs.eof=false then ActiveCell.CopyFromRecordset rs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sql "Select Champ1,Champ2,Champ3 from [Feuill1$] where Champ1='Bof';"
    set rs= creatobject("Adodb.RecordSet")
    rs.open sql, cnx
    if rs.eof=false then ActiveCell.CopyFromRecordset rs

  6. #6
    Membre éprouvé
    Homme Profil pro
    Activités informatiques diverses
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Activités informatiques diverses
    Secteur : Service public

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Par défaut
    Bonjour.
    Maintenant j'ai du, à la demande des utilisateurs, modifier le classeur servant de base de données.
    Celui-ci peut maintenant être mis à jour ouvert ou fermé.
    Lorsqu'il est ouvert, un lien hypertexte permet d'ouvrir le fichier choisi.
    La mise à jour par les procédures utilisées lorsque le classeur est fermé s'effectue sans problème mais le lien hypertexte disparait lors de l'exécution de l'instruction Cn.Execute strSql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Set Cn = New ADODB.Connection
          With Cn
            .Provider = "MSDASQL"
            .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & RepertoireParent & "/" & acFileCol & "; ReadOnly=False;"
            .Open
          End With
        End If
     
        strSql = ...........
        Cn.Execute strSql
        Cn.Close
        Set Cn = Nothing
    Merci. Cordialement, Dominique.

Discussions similaires

  1. [XL-2003] Find dans classeur fermé
    Par guigui1976 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/11/2010, 15h46
  2. Actualisé requête dans classeur fermé.
    Par bobinette33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/07/2010, 19h03
  3. [XL-2002] ListView et données dans Classeur fermé
    Par vaucluseimmo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/01/2010, 07h59
  4. copier coller dans classeurs fermés
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2009, 23h18
  5. Réponses: 18
    Dernier message: 09/05/2007, 12h06

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