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-PP]fonction qui écrit un chiffre dans une cellule excel


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : avril 2006
    Messages : 55
    Points : 29
    Points
    29
    Par défaut [VBA-PP]fonction qui écrit un chiffre dans une cellule excel
    Bonjour,

    j'aimerais créer un module vb qui une fois éxécuter, rajouterai 1 à une cellule spécifieé et dans un fichier excel existant.

    Comment faire ?

  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 027
    Points
    20 027
    Par défaut
    voir FAQ et tutoriaux VB

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : avril 2006
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    ok merci, j'ai réussi à ajouter ce que je voulais dans une cellule précise.

    Maintenant mon problème c'est que ce modul vba doit être éxécuter en tant que macro depuis powerpoint, et lorsque j'essaye, ca ne marche pas.

    voici mon code

    Sub plusun()
    Dim ObjCell As Range
    For Each ObjCell In Range("B2").Cells
    ObjCell.Value = ObjCell.Value + 1
    Next
    End Sub
    en fait ce que je veux, c'est que un bouton powerpoint éxécute ce macro, qui sera attaché à une feuille excel, c'est à dire que les cellule selectionné dans ce code soient celle d'un fichier excel spécifique.

    Comment faire pour que ce macro marche depuis powerpoint ?
    comment faire pour attacher un fichier excel à ce code ?

    merci bp d'avance de votre aide

  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 027
    Points
    20 027
    Par défaut
    tiens regarde cela ... ( sans t'occuper du mflexgrid..) cela devrai t'aiguiller ..

    http://vb.developpez.com/faq/?page=Office#excel2flex

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : avril 2006
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    merci bbil, mais pas vraiment compris !!!

    il faut que j'utilise MsFlexGrid ? c'est quoi ?

    désolé, je suis un réel débutant en visual basic...

  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 027
    Points
    20 027
    Par défaut
    Citation Envoyé par alpking
    merci bbil, mais pas vraiment compris !!!

    il faut que j'utilise MsFlexGrid ? c'est quoi ?

    désolé, je suis un réel débutant en visual basic...
    non oublie le msFlexgrid..., qui est en gros contrôle grille, que l'on peu placer sur une Form VB... mais pour le reste ouverture du classeur et accés à ces données tu utilise le même principe....

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : avril 2006
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    donc j'utilise le code comme ça :

    Public Sub Excel2Flexgrid(flexgrid As MSFlexGrid, ByVal fichier As String)

    Dim xlapp As Excel.Application
    Dim classeur As Excel.Workbook, feuille As Excel.Worksheet, Plage As Excel.Range

    Set xlapp = New Excel.Application
    xlapp.DisplayAlerts = False
    Set classeur = xlapp.Workbooks.Open(fichier)
    Set feuille = xlapp.ActiveSheet
    Set Plage = feuille.Range("A1").CurrentRegion


    Set Plage = Nothing
    Set feuille = Nothing
    classeur.Close False
    Set classeur = Nothing
    Set xlapp = Nothing

    End Sub
    ca ne marche pas ???

    comment faire ?

  8. #8
    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 027
    Points
    20 027
    Par défaut
    tiens voila le code un peu modifier

    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
    Private Sub CommandButton1_Click()
    Dim xlapp As Excel.Application
    Dim classeur As Excel.Workbook
    Dim feuille As Excel.Worksheet
    Set xlapp = New Excel.Application
    xlapp.Visible = True
    fichier = "c:\temp\classeur2.xls"
    Set classeur = xlapp.Workbooks.Open(fichier)
    Set feuille = xlapp.ActiveSheet
    feuille.Range("A1") = "Rajout du texte en cellule A1"
     
     
    Set feuille = Nothing
     
    classeur.Close True 'quitte en sauvant
    Set classeur = Nothing
    Set xlapp = Nothing
    End Sub
    Attention il faut rajouter une référence à microsoft excel ... (Menu VBE, outils Référence, Microsoft excel 9.0 ..)

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : avril 2006
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    merci bp bp bbil.

    ca marche presque : ca ouvre bien excel, mais ensuite j'ai le message d'erreur suivant :

    "erreur d'éxécution 1004 : la méthode de l'objet workbooks à échoué"

    voila le code

    Private Sub CommandButton1_Click()
    Dim xlapp As Excel.Application
    Dim classeur As Excel.Workbook
    Dim feuille As Excel.Worksheet
    Set xlapp = New Excel.Application
    xlapp.Visible = True
    fichier = "/Users/Bruce/Desktop/resultats.xls"
    Set classeur = xlapp.Workbooks.Open(fichier)
    Set feuille = xlapp.ActiveSheet
    feuille.Range("A1") = "Rajout du texte en cellule A1"


    Set feuille = Nothing

    classeur.Close True 'quitte en sauvant
    Set classeur = Nothing
    Set xlapp = Nothing

    End Sub
    ensuite si je clique sur "déboguage", il me surligne en jaune la ligne suivante :

    Set classeur = xlapp.Workbooks.Open(fichier)
    en tout cas, vraiment merci

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : avril 2006
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    en fait c'est tout bon, j'avais juste mal entré mon chemin d'accès au fichier...



    merci

Discussions similaires

  1. [GD] Problème avec des fonctions qui créent des éléments dans une image.
    Par magnus2229 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/07/2011, 10h38
  2. [VBA] recherche fonction qui annonce la fin d'une requete
    Par MeHo_ dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 02/06/2008, 10h22
  3. [VBA-E] Evvènement sur clic de souris dans une feuille Excel
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/12/2006, 15h40
  4. [VBA-E] faire la moyenne et afficher dans une cellule
    Par tibss dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 15/05/2006, 18h03
  5. [VB.NET] fonction qui injecte du html dans une zone précise
    Par denisvignes dans le forum ASP.NET
    Réponses: 5
    Dernier message: 27/10/2005, 10h33

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