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 :

Aide sur un code VBA !


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 20
    Par défaut Aide sur un code VBA !
    Bonjour à tous,
    merci de prendre un peu de temps pour m'aider à résoudre mon problème.

    Donc voila dans mon tableau Excel j'utilise la formule suivante dans casiment toutes mes cellules :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =INDIRECT((ADRESSE($C$2;16;;VRAI;"priv")))
    Ici la cellule "C2" de ma feuille "priv" est le numéro de client,
    chaque fois que je le change,
    toutes les données de ma facture changent pour récupérer les données du clients corespondants au numéro.

    Je dois maintenant effectuer un tableau regroupant toutes les données comme un petit résumé.

    Il y a 5 acomptes à faire pour chaques clients,
    ce que je veux faire c'est rentrer le numéro de client dans ma case "C2"
    Automatiquement les données s'affichent sur ma feuille
    En appuyant sur un bouton VBA "Enregistrer", j'aimerai qu'il copie l'acompte calculer numéro 1 dans le tableau en 1ère case
    Puis faire cela pour chaques clients

    Lorsque tous les acomptes 1 sont fait, je dois rentrer les acomptes 2.

    Donc en reprennant un numéro de clients quelconque, ses données doivent s'afficher; ainsi que l'acompte 1 ajouté au tableau grace à mon bouton enregistrer.

    Je refait les calcul avec les nouvelles valeur, click sur mon bouton "Enregitrer" et la nouvelle valeur de l'acompte doit s'afficher juste en dessous de l'acompte 1 et ce mémoriser avec le numéro de client ...

    Si quelqu'un peu m'aider pour le programme de ma macro ca serai vraiment sympa !

    Pour résumer et illustrer ce que je veux faire, je joint un exemple simplifié de mon tableau

    ==> La cellule "C2" est le numéro de client, son nom et adresse s'affiche automatiquement grace à mon code Excel
    Et en appuyant sur "Enregistrer" je voudrais que la cellule "acompte" soit copier dans la cellule acompte 1 et si je click une deuxieme fois sur "Enregistrer" que la valeur de l'acompte ce copie dans acompte 2 etc...

    Tout ca doit se mémoriser pour que si je retourne sur ce client, les données du tableau soit toujours rempli !

    Merci !!
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    Pour que ce soit plus simple j'ai travaillé sur ton fichier que j'annexe.
    Pour l'explication, j'ai ajouté sur ta feuille source (la feuil1) des colonnes avec les acomptes, dans la feuille 2 j'ai aouter le principe d'index que tu as déjà utilisé.
    Grâce à ça le code suivant fait le reste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Enregistrer()
     
    Dim l As Integer 'dimensionne la variable qui prendra le numéro de ligne, dans l'exemple = n° client
    Dim c As Integer 'dimensionne la variable qui prendra le numéro de colonne selon les acomptes déjà renseignés
    Dim ValAcompte As Integer 'Dimensionne la variable qui prendra le montant de l'acompte
     
    l = Sheets("feuil2").Range("c2").Value 'dans l'exemple le n° ligne correspond au N° client
    c = Sheets("feuil1").Cells(l, 256).End(xlToLeft).Column + 1 'Trouve la dernière colonne remplie de la ligne
    ValAcompte = Sheets("Feuil2").Range("F10").Value 'Récupère le montant de l'acompte
     
    Sheets("feuil1").Cells(l, c) = ValAcompte 'Affecte à la première cellule des acompte de la ligne la valeur de l'acompte
     
    End Sub
    J'imagine que le numéro de client, dans ton fichier réel ne correspond pas au numéro de ligne, il te faudra donc adapter ça pour pouvoir récupérer le numéro de ligne suivant le numéro réel du client.
    Bonne continuation,

  3. #3
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 20
    Par défaut
    Je te remercie mille fois, je vais voir pour adapter tous ca cette aprem a mon tableau !!

Discussions similaires

  1. EXCEL/ VBA Erreur sur le code VBA : rediriger l’erreur
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/12/2006, 16h28
  2. aide sur un code Mysql+
    Par flo1084 dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 24/10/2006, 09h54
  3. [C# 1.1] Aide sur un code C# 2005
    Par Filipegomes dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/10/2006, 14h33
  4. Réponses: 2
    Dernier message: 09/06/2006, 14h38
  5. [VB6] Aide sur un code
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/05/2006, 14h54

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