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 :

[VBA-E]replacement données excel par données VBA


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut [VBA-E]replacement données excel par données VBA
    On m'a aidé à créer un formulaire vba qui me permet soit de créer de nouvelles entrées soit de les faire afficher dans mon formulaire mais je ne sais pas comment faire après modifications des données les renvoyer dans ma base excel et écraser les anciennes données ( en textbox1 un numéro d'identification unique)

    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
      Dim L As Integer 
      Dim r As Range
      L = Sheets("Feuil1").Range("a65536").End(xlUp).Row + 1
      Set r = Sheets("Feuil1").Range("a2:a" & L).Find(TextBox1)
      If r Is Nothing Then
        MsgBox ("Introuvable")
      Else
        TextBox1.Value = r
        TextBox2.Value = r.Offset(0, 1)
        TextBox3.Value = r.Offset(0, 2)
        TextBox4.Value = r.Offset(0, 3)
        TextBox5.Value = r.Offset(0, 4)
        TextBox6.Value = r.Offset(0, 8)
        TextBox7.Value = r.Offset(0, 9)
        TextBox8.Value = r.Offset(0, 10)
        CheckBox1.Value = r.Offset(0, 11)
        CheckBox2.Value = r.Offset(0, 15)
        CheckBox3.Value = r.Offset(0, 17)
        TextBox9.Value = r.Offset(0, 19)
        TextBox10.Value = r.Offset(0, 23)
        TextBox11.Value = r.Offset(0, 24)
        TextBox12.Value = r.Offset(0, 25)
        TextBox15.Value = r.Offset(0, 28)
        TextBox13.Value = r.Offset(0, 29)
        TextBox14.Value = r.Offset(0, 30)
        TextBox16.Value = r.Offset(0, 33) :?:  :?:
    Existe t'il une commande pour ça Merci d'avance

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    tu fais la même chose dans l'autre sens...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    r = TextBox1.Value 
    r.Offset(0, 1) = TextBox2.Value
    ...

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Une dernière fois promis
    Je séche encore désolé une dernière fois promis cette fois c'est la commande pour ranger les données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim L As Integer
    Dim r As Range
    L = Sheets("Feuil1").Range("a65536").End(xlUp).Row+1
    Set r = TextBox1.Value.?????
      Else
      r = TextBox1.Value
      r.Offset(0, 1) = TextBox2.Value
      r.Offset(0, 2) = TextBox3.Value
    Merci pour les réponses déjà apportées :

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    non r , est un Range, une plage de cellule,enfin dans ton cas un cellule n que tu dois définir.. avec un code du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set r = Sheets("Feuil1").Range("a1")
    ... reste çà voir ensuite dans quelle ligne tu ve écrire ...? la ligne en cours dans fichier excel ???

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut re BONJOUR
    oui je viens de rentrer cette fomule et il m'a remplacé tous les noms de ma base de données excel ? oui Je voudrais qu'il remplace la cellule ou se trouve déjà cette donnée. (qu'il cherche par rapport à l'identifiant qui se trouve dans la colonne A qui lui ne bougera jamais)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     L = Sheets("Feuil1").Range("a65536").End(xlUp).Row + 1
      Set r = Sheets("Feuil1").Range("a2:a" & L)
      r = TextBox1.Value
      r.Offset(0, 1) = TextBox2.Value
      r.Offset(0, 2) = TextBox3.Value


    Encore merci

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    ben alors tu garde la même affectation pour range :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set r = Sheets("Feuil1").Range("a2:a" & L).Find(TextBox1)
      If r Is Nothing Then
        MsgBox ("Introuvable")
      Else 
     r = TextBox1.Value
    r.Offset(0, 1) = TextBox2.Value
    r.Offset(0, 2) = TextBox3.Value



    PS : Essai de penser au balise [ code] ... pour rendre ton message plus clair... pour cela lors de l'esdition du message sélectionne ton code et .. clique sur le bouton code, en haut...

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut merci beaucoup
    Merci tout marche

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/02/2014, 09h04
  2. [XL-2010] Transfert de données Excel>Word en Vba
    Par Stefalci dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/11/2011, 20h56
  3. VBA - agregger 1 classeur excel par ligne
    Par cassedu dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/10/2009, 11h48
  4. [XL-2003] Actualiser les données xml par code vba
    Par kiki.gaby dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/04/2009, 12h04
  5. [Excel] Intégrer au fichier Excel des données saisies par formulaire
    Par drogba72 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 21/05/2008, 11h13

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