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 :

Problème Ecriture classeur fermé


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut Problème Ecriture classeur fermé
    Bonjour,

    Me revoilà pour un petit soucis.
    Voilà j'utilise la méthode décrite sur ce site pour écrire dans un classeur fermé.
    J'ai créé un classeur nommé user.xls qui se situe à c:\user.xls
    Il n'a qu'une seule feuille et initialement il n'a que le mot users inscrit en A1.

    Je lance la procédure d'écriture comme suis :
    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 new_user(us As String)
     Dim Cn As ADODB.Connection
        Dim Fichier As String, Feuille As String, strSQL As String
     
        Fichier = "C:\User.xls"
        Feuille = "users"
     
        Users = us
     
        Set Cn = New ADODB.Connection
     
        With Cn
            .Provider = "MSDASQL"
            .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _
                "DBQ=" & Fichier & "; ReadOnly=False;"
            .Open
        End With
     
     
        strSQL = "INSERT INTO [" & Feuille & "$] " _
            & "VALUES ('" & Users & "' )"
     
        Cn.Execute strSQL
     
        Cn.Close
        Set Cn = Nothing
    End Sub
    Le nom est bien écrit dans le fichier tout va bien, j'ai donc bien mis ma base de données d'utilisateur à jour.
    Cependant si je retourne dans le fichier originel manuellement et que je supprime le nom rajouter en A2 en appuyant sur suppr
    La prochaine fois que ma routine new_user se lance elle écrit en A3 et non en A2.

    Comment faire pour que cela n'arrive pas ? ne jamais toucher le fichier d'user ? ou alors formater les cellules d'une certaines façon ?

    Merci d'avance de votre aide

  2. #2
    Membre émérite
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Par défaut
    Bonjour,

    Il y a différents types de suppression :
    - supprimer la valeur contenue dans une cellule. Dans ce cas, la ligne de la cellule supprimée est considérée comme une ligne utilisée, même si elle ne contient plus aucune valeur. La preuve : un Ctrl+Fin peut amener sur une ligne apparemment vide.
    - Supprimer la ligne entière (Edition/Supprimer... Ligne entière). Dans ce cas (après réenregistrement du fichier) Excel réajuste la taille du tableau car il considère que la ligne est réellement supprimée.

    Peut-être faut-il que la supression dont tu parles soit une supression de ligne entière au lieu d'une suppression juste de valeur.

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut
    ca ne marche toujours pas complètement
    En fait au départ j'avais déjà mis des entrées dans ma feuille du genre 3 users différents.
    Je n'avais aucun soucis
    La j'ai essayé de ne mettre aucun users et automatiquement il commence à écrire en A3 même si j'ai effacer les lignes ...

    La franchement ca me dépasse un peu ...


    Edit : après pas mal d'essai et même en supprimant le nom de ma cellule A1 dans le fichier user, la routine new_user ne veux écrire qu'à partir de la cellule A3 ...

    EDIT BIS : je confirme que la suppresion de ligne limite le problème (au moins je ne saut plus de ligne vide) mais je ne peux écrire qu'à partir de A3

    Est ce que par hasard la routine d'écriture suppose qu'il y a en premier les en têtes et ensuite que nécessairement la liste est non vide et contient donc au minimum un élément ?
    Ce qui donc placerait le début de la routine en A3 comme c'est le cas.

    Quelqu'un a -t -il une autre explication ?
    ou jsute un commentaire à faire que je n'ai pas l'impression de me répondre a moi même

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Tu n'a pas bien lu les tuto pour travailler avec des classeurs fermer, les titres des colonnes servent de "Field" donc la première ligne est le "point de repère" de ta BD.
    Si tu a supprimer des données il faut les supprimer par Supprimé mais pas par Delete ou ClearContents
    Dans cette optique tu aurais intèrêt à supprimer les données par tes accès BD.
    A+

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut
    Je peux tout a fait concevoir cela

    Mais comment cela se fait il que dans le cas d'un fichier "neuf" auquel je n'ai pas touché ma sub new_user n'écrive quoi qu'il arrive qu'à partir de la ligne 3 en A3 et pas en A2 comme cela devrait être le cas

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Je peu tout a fait me tromper mais si je reprend ton code en premier poste, tu réinscrir la feuille EN ENTIER mais tu ne fait pas de modif a ce niveau. Et tu n'emploi pas réellement le classeur fermer comme BD.
    Je pense que tu te trompe a ce sujet, revois d'autre façon d'accèder sur des classeur fermer (sur ce site) où tu peu réellement traiter ton classeur fermer comme une BD.
    J'ai pas de lien dans l'immédiat et pas le temps non plus. Mais demain, si tu n'a pas trouver ont pourra revoir le sujet.
    A+

  7. #7
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut
    eh bien j'ai contourné le problème en quelque sorte.
    Puisque quand je vais chercher mes noms d'user dans ce fichier et que je les recopie je ne lis pas la case vide qui me gène ...

    Mais je n'ai pas trouver comment écrire a partir de A2
    et sinon je suis autant convaincu que toi que je me trompe quelque part

    c'est pour cela que je viens poster ici

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Si, tu a d'ailleur bien fait je t'avais oublié.
    Là je pense que tu va trouver ton bonheur.
    A+

  9. #9
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut
    merci c'est gentil
    mais je connais bien ce lien
    il m'a déjà d'ailleurs beaucoup aidé

    Mais il ne répond pas à ma question.

    Enfin c'est pas très grave j'ai contourné le problème et ca me suffira pour l'instant

Discussions similaires

  1. Ecriture Classeur fermé problème avec opérateurs logiques VRAI/FAUX
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/03/2014, 19h59
  2. [XL-2007] Problème fonction CountIfs sur plusieurs classeurs fermés
    Par Qril59 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/04/2013, 09h45
  3. [XL-2007] RechercheV sur classeur fermé - Problème de variable
    Par desv001a dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 28/03/2013, 13h16
  4. [XL-2010] Requete sur Classeur fermé, J’ai un problème avec un recordset
    Par Henri-gp dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/01/2013, 12h28
  5. Problème avec objet fermé
    Par Mvu dans le forum ASP
    Réponses: 4
    Dernier message: 22/09/2005, 10h30

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