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 :

Pbl sauvegarde MSFlexGrid


Sujet :

Macros et VBA Excel

  1. #21
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Boànjour,

    peux-tu s'il te plait insérer ceci juste avant ta double boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MsgBox MSFlexGrid1.Rows & "  " & MSFlexGrid1.Cols & vbCrLf & _
      MSFlexGrid1.FixedCols & "  " & MSFlexGrid1.FixedCols
    et nous dire ce que tu as à l'affichage ?

  2. #22
    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
    Bonsoir UcFoutu, merci de venir à notre secour,
    Mais TextMatrix() agit aussi bien sur les colonnes et lignes que sur les fixes,
    Il y à quelque chose que notre ami n'explique pas.

  3. #23
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Je pense tout simplement qu'il ne pointe pas vers une grille existante ou chargée...
    on va y aller pas à pas... et on va finir par voir où le bât blesse...

    Je vous laisserai ensuite à votre discussion, car je connais mal Excel...

  4. #24
    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
    y me vient une idée, où tu à mis la fonction ?

  5. #25
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut
    j'suis plus au boulot, j'ai pas ma macro, on vois cela demain.

  6. #26
    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
    Ont ne pense pas toujours à expliquer jusque la dernière virgule, dans mon poste précédant j'ai dit Remplace par le nom de la UserForme et je parie que tu a mis...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("UserForm1").MSFlexGrid1.Rows
    mais tu doit mettre partout avant MSFlexGrid1...(bien entendu si ta Userform à le nom UserForm1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        UserForm1.MSFlexGrid1.Rows
    Ca devrait marcher maintenant.
    A+

  7. #27
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut
    ça marche mieux comme ça mais jai une autre erreur a la ligne suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MSFlexGrid1.TextMatrix(Ligne, Colonne) = Cells(Ligne + 1, Colonne + 1).Value
    UcFoutu, t'entend quoi par boucle??? Dans le Workbook, dans le UserForm???

  8. #28
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut
    Alors la sauvegarde fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UsFrm.MSFlexGrid1.TextMatrix(Ligne, Colonne) = Cells(Ligne + 1, Colonne + 1).Value
    seulement mon FlexGrid n'est pas re-rempli avec les valeurs sauvegarders, il faudrait donc que j'importe les donner du tableau Excel dans mon FlexGrid.Hélas mes compétences ne me le permettent pas

  9. #29
    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
    Tu as vérifié que les données sont bien sur la Feuil3 ?
    Pour recharger les données dans le grid cela se passe dans le Workbook_Open() que tu doitr adapter comme l'autre fonction.
    Voyons si tu l'a bien mis où il fallai.
    Dans l'IDE et l'explorateur de feuille tu a le nom des feuilles et en dessous tu a ThisWorkbook > Double clic dessus > dans la feuille qui s'ouvre il y a 2 combos dans le haut, dans celui de gauche tu selectionne WorkBook, la feuille se rempli avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
     
    End Sub
    Entre les lignes tu met le code ci-dessous pour avoir ce résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_Open()
        Sheets("Feuil3").Select
        For Ligne = 0 To UsFrm.MSFlexGrid1.Rows - 1
            For Colonne = 0 To UsFrm.MSFlexGrid1.Cols - 1
                UsFrm.MSFlexGrid1.TextMatrix(Ligne, Colonne) = Cells(Ligne + 1, Colonne + 1).Value
            Next Colonne
        Next Ligne
     
    End Sub
    Tu dit...

  10. #30
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut
    J'ai deja rentré ce code, et ma grid ne se re-rempli pas :s

  11. #31
    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
    Suis les renseignements donné Svp, tu ne les as surement pas mis à la bonne place

  12. #32
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Workbook_Activate()
    UsFrm.Show
    End Sub
     
    Private Sub Workbook_Open()
     
    Sheets("Feuil3").Select
        For Ligne = 0 To UsFrm.MSFlexGrid1.Rows - 1
            For Colonne = 0 To UsFrm.MSFlexGrid1.Rows - 1
                UsFrm.MSFlexGrid1.TextMatrix(Ligne, Colonne) = Cells(Ligne + 1, Colonne + 1).Value
            Next Colonne
        Next Ligne
    End Sub
    Voila ce que j'ai dans "Thisworkbook"


    et ceci est une partie du code de mon UserForm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub MemoGrid()
    'A envoyer avant de mémoriser le classeur..
    Dim Ligne As Integer, Colonne As Integer
        Sheets("Feuil3").Select
        For Ligne = 0 To UsFrm.MSFlexGrid1.Rows - 1
            For Colonne = 0 To UsFrm.MSFlexGrid1.Rows - 1
                Cells(Ligne + 1, Colonne + 1).Value = UsFrm.MSFlexGrid1.TextMatrix(Ligne, Colonne)
            Next Colonne
        Next Ligne
    'pour cacher la "feuil3"
        Sheets("Feuil1").Select
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CmdSave_Click()
        Call MemoGrid
        ChDir "U:\JABIL\Methodes\CMS\MACRO"
        ActiveWorkbook.SaveAs Filename:= _
            "U:\JABIL\Methodes\CMS\MACRO\Macro Fiche Instruction.xls", FileFormat:= _
            xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
            , CreateBackup:=False
    End Sub
    Edit : ET mes donnés sont bien sur la "feuil3"

  13. #33
    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
    ajoute comme ci dessous..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Workbook_Open()
     
    Sheets("Feuil3").Select
    STOP
        For Ligne = 0 To UsFrm.MSFlexGrid1.Rows - 1
            For Colonne = 0 To UsFrm.MSFlexGrid1.Rows - 1
                UsFrm.MSFlexGrid1.TextMatrix(Ligne, Colonne) = Cells(Ligne + 1, Colonne + 1).Value
            Next Colonne
        Next Ligne
    End Sub
    Tu sauve et tu réouvre le classeur, dit-moi si ça s'arrète sur le stop (surligné en jaune)

  14. #34
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut
    Oui en effet ça s'arrete


    J'ai fini le boulot, je vois ça lundi
    encore merci pr l'aide, il ne doit pas manqué grand chose

  15. #35
    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
    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
    Private Sub Workbook_Open()
     
    Sheets("Feuil3").Select
    STOP
     
    UsFrm.show
     
        For Ligne = 0 To UsFrm.MSFlexGrid1.Rows - 1
            For Colonne = 0 To UsFrm.MSFlexGrid1.Rows - 1
                UsFrm.MSFlexGrid1.TextMatrix(Ligne, Colonne) = Cells(Ligne + 1, Colonne + 1).Value
     
                debug.Print UsFrm.MSFlexGrid1.TextMatrix(Ligne, Colonne)
                debug.print Cells(Ligne + 1, Colonne + 1).Value
     
            Next Colonne
        Next Ligne
    End Sub
    Modifie comme ca, tu sauve et tu réouvre le classeur
    bon, quand tu est sur le stop, tu tape F8.. F8...F8.. etc et regarde dans la fenêtre 'Exécution' si les données sont les bonnes

  16. #36
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut
    Aucun message dans ma fenêtre "execution"

  17. #37
    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
    quand tu est sur le stop, tape dans la fenêtre exécution..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print UsFrm.MSFlexGrid1.Rows
    valider par Enter
    et tu dit..

  18. #38
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut
    reponse

    print UsFrm.MSFlexGrid1.Rows
    1

  19. #39
    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
    donc il n'y a que 2 lignes ?
    Et je ne sais pas comment cette erreur n'a pas été détectée plus tôt, change la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Colonne = 0 To UsFrm.MSFlexGrid1.Rows - 1
    'par
    For Colonne = 0 To UsFrm.MSFlexGrid1.Cols - 1
    Ensuite quand tu est sur le stop tu tape dans Exécution..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print UsFrm.MSFlexGrid1.Cols
    et tu dit..

  20. #40
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut
    print UsFrm.MSFlexGrid1.Cols
    5

    A quoi cette opération sert-elle?

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Sauvegarder une msflexgrid en une image
    Par khouja dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 10/05/2008, 13h14
  2. Sauvegardes
    Par tastalian dans le forum DirectX
    Réponses: 12
    Dernier message: 15/10/2002, 01h30
  3. [ADO] Sauvegarde / lecture de recordset
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/09/2002, 16h54
  4. Sauvegarder une surface dans un fichier
    Par Freakazoid dans le forum DirectX
    Réponses: 6
    Dernier message: 18/08/2002, 15h23
  5. [Kylix] Sauvegarde de donnée utilisateur....
    Par Eclypse dans le forum EDI
    Réponses: 1
    Dernier message: 11/05/2002, 17h21

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