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 :

Demande d'aide sur vba Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    planification de maintenance et gestion de parc auto
    Inscrit en
    Novembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : planification de maintenance et gestion de parc auto
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2015
    Messages : 1
    Par défaut Demande d'aide sur vba Excel
    Bonjour à tous

    Je me nommé Ouédraogo Ousmane; je suis le responsable logistique de l'entreprise ! j'ai un projet de gestion de stock en cours sur Excel.
    J'ai pu crée un formulaire de saisie personnalisé, mais je rencontre un problème dans l'enregistrement des donnes sur la feuille!
    Dés que je lancé l'enregistre les donnes s'enregistre sur le dernier enregistre du tableau au lieu d'une nouvelle ligne
    voici les lignes de code en vba que j'ai utilisés pour l'enregistrement :

    Code vba : 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
    Private Sub cbmtsave_Click()
      Sheets("Data-Sortie").Activate
      Range("A10").Select
      Selection.End(xlDown).Select
      Selection.Offset(1, 0).Select
      ActiveCell = txtdate1.Value
      ActiveCell.Offset(0, 1).Value = cboref
      ActiveCell.Offset(0, 2).Value = cbopieces
      ActiveCell.Offset(0, 3).Value = cbomp
      ActiveCell.Offset(0, 4).Value = txtqte
      ActiveCell.Offset(0, 5).Value = cboImm
      ActiveCell.Offset(0, 6).Value = cbogenre
      ActiveCell.Offset(0, 7).Value = cbomarq
      ActiveCell.Offset(0, 8).Value = cbomodel
      ActiveCell.Offset(0, 9).Value = cbotechn
      ActiveCell.Offset(0, 10).Value = cbopost
     
    End Sub

    Merci d'avance de m'aide a voir mes erreurs sur les codes!
    Très Cordialement

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Les deux paramètres de Offset sont la ligne et la colonne. Ton zéro signifie que tu restes sur la même ligne.

    D0nc avec

    Même colonne, mais une ligne plus bas

    Même colonne, mais une ligne plus haut

    Une colonne à gauche et une ligne plus bas

    Une colonne à gauche et une ligne plus haut

    etc...

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    et Aussi
    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
    Sub Bouton1_Cliquer()
    Dim j As Long
    With Sheets("Data-Sortie")
    j = .Range("A" & Rows.Count).End(xlUp).Row + 1
    .Range("A" & j) = txtdate1.Value
    .Range("B" & j) = cboref
    .Range("C" & j) = cbopieces
    .Range("D" & j) = cbomp
    .Range("E" & j) = cboImm
    .Range("F" & j) = cbogenre
    .Range("G" & j) = cbomarq
    .Range("H" & j) = cbomodel
    .Range("I" & j) = cbotechn
    .Range("J" & j) = cbopost
    End Sub

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour !

    Déjà directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub cbmtsave_Click()
        Range("Data-Sortie!A10").End(xlDown).Offset(1).Resize(, 11).Value = Array(txtdate1.Value, _
            cboref, cbopieces, cbomp, txtqte, cboImm, cbogenre, cbomarq, cbomodel, cbotechn, cbopost)
    End Sub
    ___________________________________________________________________________________________________________
    Je suis Paris, Barcelone, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ton code en plus propre :

    Code vba : 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
    Private Sub cbmtsave_Click()
       Dim Ligne As Long
       Sheets("Data-Sortie").Activate
       Ligne = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
       Cells(Ligne, 1).Value = txtdate1.Value
       Cells(Ligne, 2).Value = cboref
       Cells(Ligne, 3).Value = cbopieces
       Cells(Ligne, 4).Value = cbomp
       Cells(Ligne, 5).Value = txtqte
       Cells(Ligne, 6).Value = cboImm
       Cells(Ligne, 7).Value = cbogenre
       Cells(Ligne, 8).Value = cbomarq
       Cells(Ligne, 9).Value = cbomodel
       Cells(Ligne, 10).Value = cbotechn
       Cells(Ligne, 11).Value = cbopost
     
    End Sub

    Cela dit, es-tu vraiment sûr que ce UserForm serve à quelque chose ?
    Ne serait-il pas plus simple de saisir les informations directement dans les lignes ?

Discussions similaires

  1. Demande d'aide sur vba avec excel
    Par karter13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/01/2016, 21h56
  2. de l'aide sur vba Excel
    Par jps1901 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/07/2014, 22h33
  3. besoin d'aide sur VBA d'excel
    Par taraud dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/03/2010, 15h25
  4. aide sur vba et excel
    Par kouame34 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/09/2007, 14h42
  5. demande d'aide sur VBA
    Par aralth dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/07/2007, 05h45

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