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 :

SpreadSheet Changer Variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut SpreadSheet Changer Variable
    Bonjour à tous,

    Ma question est simple, j'ai créer sur une feuille qui est masqué un tableau. Celui ci est appelé via un Spreadsheet.
    98% des cellules sont remplis grâce à des formules, néanmoins il reste 2% qu'il faut absolument remplir à la main. Est-il possible de le faire directement sur le spreadsheet et que cette valeur s'enregistre bien sure? Si oui, comment?

    Bonne journée,

    Cdt,

  2. #2
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    C'est quoi tu tu appelles un Spreadsheet. Pour moi c'est exactement la même chose qu'une feuille, donc je ne comprends pas trop ta question.

  3. #3
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Bonjour,

    C'est exactement ça, c'est une feuille qu'on appele via un UserForm. Le problème est que cette feuille est créer pour 98% du temps à aller chercher une plage de valeur et l'afficher dans ce SpreadSheet. Cependant dans mon SpreadSheet j'aimerais que une colonne puisse être modifiable à la main donc dans mon UserForm. Car je peux le changer, la valeur s'affiche bien mais une fois l'UserForm fermé, cette valeur s'efface ou ne s'enregistre pas. Tel est ma question, que cette modification manuelle soit permanente de la part de l'utilisateur.

    Cdt,

  4. #4
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Je n'ai toujours pas bien compris la distinction que tu fais entre spreadSheet et feuille, mais vu comme ça, il suffit que tu modifies la valeur dans la feuille via le code du UserForm. Mais ça me parait trop simple donc il doit y avoir encore quelque chose que je n'ai pas compris. Tu aurais un exemple ?

  5. #5
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Oui, je dois vraiment très mal m'expliquer,

    - J'ai un tableau appelé "Budget"
    - Mon SpreadSheet va chercher "Budget"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub cbDonnées_Click()
        On Error Resume Next
        Me.Controls.Remove (Img.Name)
        With Me.Spreadsheet1
            .Visible = True
            Set Plage = Sheets("Synthèse").Range("Budget")
            For Each c In Plage
                .Cells(c.Row - Plage.Row + 1, c.Column - Plage.Column + 1) = c.Value
                .Cells(c.Row - Plage.Row + 1, c.Column - Plage.Column + 1).NumberFormat = c.NumberFormat
            Next c
        End With
    End Sub
    - J'ouvre mon SpreadSheet, le tableau Budget est bien afficher. Cependant sur ce même tableau "Colonne F" je souhaite pouvoir modifier les valeurs et que cette modification soit permanente, car pour l'instant je peux la modifier mais une fois mon UserForm (et donc mon SpreadSheet) fermé, la valeur reprends celle de ma Plage "Budget" ce qui est normal.
    J'aimerai donc dans mon code ci dessus dire qu'on peut modifier les valeurs de la "Colonne F".

    Cdt

  6. #6
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Mais c'est quoi que tu appelles un SpreadSheet !!!


    Sinon, si j'ai mieux compris, il faudrait utiliser l'évènement Worksheet_Change pour mettre à jour la première plage quand tu fais une modification dans la 2ème. Mais ça me semble bizarre ce que tu cherches à faire.

  7. #7
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Userform > Contrôle > SpreadSheet

    C'est comme tu l'as dit une feuille inséré dans un UserForm.

  8. #8
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Ok, au temps pour moi. Je n'avais pas compris que tu parlais d'un contrôle de ton UserForm. Dans ce cas, tu devrais regarder du coté de l'évènement SheetChange de ton SpreadSheet.
    Mais pourquoi tu ne travailles pas directement sur la feuille de ton classeur ?

  9. #9
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Je suis chargé de restructuré un Excel pour le reporting d'une grosse société et celui ci est on peut dire l'Excel final. Sauf que avant c'était très archaïque, l'acheteur entassé des tableaux au fur et à mesure du temps, qui du côté compta était un gros bordel pour la compréhension. Donc je créer des boutons qui vont chercher des tableaux sur des feuilles masquées afin d'alléger la chose et le rendre beaucoup plus présentable et professionnel.

    Voilà tout, je regarde à ce que tu m'as dis et reviens vers toi pour clôturer au pas le topic,

    Merci,

    Cdt

  10. #10
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Ok. Donc si tu veux faire une sorte d'image de plusieurs zones de ton classeur, il faut effectivement que tu rapatries comme tu le fais les données et ensuite avec l'évènement dont je te parlais (en ajoutant éventuellement certaines conditions au début, et peut-être une variable quelque part t'indiquant sur quelle feuille tu es en train de travailler), tu pourras mettre à jour la feuille initiale à chaque modification d'une cellule de ton contrôle SpreadSheet.

  11. #11
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Alors vraiment désolé de te demander ça mais je n'arrive pas à appelé sheetschange

    Voilà ce qui me marque sur internet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    'mon code
     
    End Sub
    Je souhaite que l'on peut modifier ma feuille "synthèse" et la colonne (I48:I57) de mon spreadsheet1.

    Où dois-je utiliser sheetchange, comment l'utiliser même enfin là pour le coup je suis perdu.


  12. #12
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    L'avantage, c'est que l'éditeur VBA peut le faire pour toi. Tu vas dans la partie "code" de ton userForm. Juste au dessus du code, il y a deux DropDownList avec à gauche la liste des objets et à droite la liste des évènements existants pour l'objet sélectionné. Imaginons que ton spreadSheet s'appelle "SpreadSh1", tu sélection SpreadSh1 à gauche et tu cliques sur SheetChange à droite. VBA Editor va te générer automatiquement le bout de code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub SpreadSh1_SheetChange(ByVal Sh As OWC11.Worksheet, ByVal Target As OWC11.Range)
     
    End Sub
    Avec Sh qui est la feuille de ta SpreadSheet sur laquelle il y a eu la modification (Je suppose que tu n'as qu'une seule feuille dans ton cas), et Target la où les cellules concernées.
    C'est donc sur Sh et Target qu'il faudra mettre les conditions pour savoir si ce sont des modifications qui doivent être reportées sur la feuille principale ou pas.

  13. #13
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Justement comment écrire ces conditions de si la colonne F de mon spreadsheet est modifié alors ok tu le modifies aussi sur la feuille principal qui est ici "synthèse"?

    Je viens d'essayer quelque chose heureusement que je n'ai pas enregistrer car sa ma supprimer pas mal de formule de mon tableau d'origine .

  14. #14
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Je ne connais pas ton classeur, mais un truc de ce genre là devrait marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub ssh1_SheetChange(ByVal Sh As OWC11.Worksheet, ByVal Target As OWC11.Range)
        If Sh.Name = "NomDeLaFeuille" Then
            If Target.Column = 6 Then 'Il faudrait sans doute rajouter une vérif sur la ligne aussi
                Worksheets("synthèse").Cells(Target.Row + 21, "F").Value = Target.Value
                'Attention, j'ai mis le 21 au hasard, à toi d'adapter
            End If
        End If
    End Sub

  15. #15
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Il faut l'appeler le "Private Sub ssh1_SheetChange(ByVal Sh As OWC11.Worksheet, ByVal Target As OWC11.Range)" ou pas car sinon ça ne fonctionne pas.
    Voici mon adaptation:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     Public Img As Control
    Private Sub cbDonnées_Click()
        On Error Resume Next
        Me.Controls.Remove (Img.Name)
        With Me.Spreadsheet1
            .Visible = True
            Set Plage = Sheets("Synthèse").Range("Budget")
            For Each c In Plage
                .Cells(c.Row - Plage.Row + 1, c.Column - Plage.Column + 1) = c.Value
                .Cells(c.Row - Plage.Row + 1, c.Column - Plage.Column + 1).NumberFormat = c.NumberFormat
            Next c
        End With
    End Sub
     
    Private Sub cbExit_Click()
        Unload Me
    End Sub
     
    Private Sub cbGraphique_Click()
        Me.Spreadsheet1.Visible = False
        On Error Resume Next
        Me.Controls.Remove (Img.Name)
        On Error GoTo 0
        Set Img = Me.Controls.Add("forms.Image.1")
        With Img
            .Left = 100
            .Width = Me.cbExit.Left
            .Height = Me.cbExit.Top
            .Top = 0
        End With
        With Sheets("Synthèse")
        Set g = Sheets("Synthèse").ChartObjects(1).Chart
        Fichier = ActiveWorkbook.Path & "\" & "graphe.gif"
        g.Export Filename:=Fichier, FilterName:="GIF"
        Img.Picture = LoadPicture(Fichier)
     
        End With
    End Sub
     
    Private Sub ssh1_SheetChange(ByVal Sh As OWC11.Worksheet, ByVal Target As OWC11.Range)
        If Sh.Name = "Spreadsheet1" Then
            If Target.Column = 6 Then 'Il faudrait sans doute rajouter une vérif sur la ligne aussi
                Worksheets("Synthèse").Cells(Target.Row + 47, "I").Value = Target.Value
                'Attention, j'ai mis le 21 au hasard, à toi d'adapter
            End If
        End If
    End Sub
     
     
    Private Sub Spreadsheet1_BeforeContextMenu(ByVal x As Long, ByVal y As Long, ByVal Menu As OWC11.ByRef, ByVal Cancel As OWC11.ByRef)
     
    End Sub
     
    Private Sub UserForm_Activate()
        Me.Spreadsheet1.Visible = False
    End Sub
    Dis moi ce que tu en penses.

    Cdt,

  16. #16
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Oui, bien sûr pour le nom, c'est parce que j'avais fait un test et que je n'avais pas mis le même nom.
    Et après ce que j'en pense, je n'ai pas le classeur sous les yeux, donc à toi de me dire si ça marche. Si tu as peur de faire une bêtise, sauvegarde le fichier sous un autre nom pour tes tests.

  17. #17
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Désolé ça ne fonctionne toujours pas, voici mon code:

    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
    Private Sub Spreadsheet1_SheetChange(ByVal Sh As OWC11.Worksheet, ByVal Target As OWC11.Range)
     
        If Sh.Name = "Spreadsheet1" Then
     
          If Intersect(Target, Range("ZoneDeSaisie")) Is Nothing Then
     
     
            Application.EnableEvents = False 'Empêcher une boucle d'événements
            Application.Undo                 'Annuler le changement
            Application.EnableEvents = True
     
        End If
    End If
     
    End Sub
    Dans mon spreadsheet1 j'ai mis de F1:F10 un nom à cette plage "ZoneDeSaisie". Je dis que si il n'est pas dans cette plage alors la modif est annulé. J'ai testé, dès que dans la colonne F du spreadsheet je veux changer quelques choses sa ne se modifie pas.
    Qu'est ce qui cloche dans ma formule?

    Cdt,

  18. #18
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Et en utilisant plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sh.Range("ZoneDeSaisie")
    Tu as regardé ce qu'il se passait en mode pas à pas ?

  19. #19
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Non je n'ai aps testé "Pas à Pas", je ne l'ai jamais fait d'ailleurs.
    Mais que l'on résume bien:

    - Sh.Name = "Feuil1" : est bien le nom de la feuille de mon spreadsheet?
    - If Intersect(Target, Sh.Range("ZoneDeSaisie")) Is Nothing Then : j'ai l'impression que cette ligne ne fonctionne pas, mais sinon Sh.Range("ZoneDeSaisie") est bien la plage que j'ai donné dans mon SpreadSheet et non ma feuille d'origine.

    Perso, cette histoire ma embrouillé plus qu'autre chose, je ne comprends pas pourquoi ça ne veux pas fonctionner.

    Le mieux est que je te joins mon fichier (enfin je t'en ai refait un) pour que tu y regarde, peut être tu y verras plus clair. Il y a une feuille masqué ("Synthèse"). Et mon tableau se nomme "BUDGET" dans cette feuille Synthèse.
    Je veux pouvoir modifier dans mon spreadsheet la colonne F et donc automatiquement dans ma feuille Synthèse cette même colonne correspondante.

    Merci pour ton temps,

    Cdt
    Fichiers attachés Fichiers attachés

  20. #20
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    J'ai modifié le code du userForm de la manière ci-dessous.
    Avant tout chose, le mode pas à pas est vraiment très important pour le débogage et pour trouver d'où viennent les erreurs. Il faut vraiment que tu prennes l'habitude de l'utiliser. De même n'oublie pas de mettre "Option Explicit" en haut des pages de code, ça t'obligera à déclarer les variables et évitera pas mal d'erreurs de typo.
    Sinon, ce qu'il faut bien comprendre, c'est que les objets d'une spreadSheet et d'un classeur sont différents (on note d'ailleurs au passage qu'une spreadSheet est plus l'équivalent d'un classeur que d'une feuille, car elle contient elle-même des feuilles). Même s'il y a beaucoup de points communs entre un Range de classeur excel et un Range de SpreadSheet, ça reste différent. Par exemple, on ne peut pas appeler un Range à partir de son nom, on ne peut pas utiliser Intersect...

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Option Explicit
     
    Public rangeIsLoaded As Boolean 'Permettra de savoir si on a déjà chargé les valeurs pour éviter les modifs
     
    Private Sub UserForm_Initialize()
        rangeIsLoaded = False
    End Sub
     
    Private Sub cbDonnées_Click()
     
        Dim Plage As Range
        Dim c As Range
        Dim ws As OWC11.Worksheet
        Dim rg As OWC11.Range
     
        Set Plage = Worksheets("Synthèse").Range("BUDGET")
        Set ws = Spreadsheet1.Worksheets("Feuille1")
     
        Spreadsheet1.EnableEvents = False
     
        For Each c In Plage
            ws.Cells(c.Row - Plage.Row + 1, c.Column - Plage.Column + 1).Value = c.Value
            ws.Cells(c.Row - Plage.Row + 1, c.Column - Plage.Column + 1).NumberFormat = c.NumberFormat
        Next c
     
        'On va protéger la feuille sauf la zone de saisie
        ws.Cells.Locked = True
        ws.Range("F1:F10").Locked = False
        ws.Protection.Enabled = True
     
        Spreadsheet1.EnableEvents = True
     
        rangeIsLoaded = True
     
    End Sub
     
     
    Private Sub Spreadsheet1_SheetChange(ByVal Sh As OWC11.Worksheet, ByVal Target As OWC11.Range)
     
        If rangeIsLoaded And Sh.Name = "Feuille1" Then
            If Target.Column = 6 And Target.Row <= 10 Then
                Worksheets("Synthèse").Range("BUDGET").Cells(Target.Row, Target.Column).Value = Target.Value
            End If
        End If
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/11/2013, 11h23
  2. [Sécurité] changer variable session!!
    Par astano dans le forum Langage
    Réponses: 10
    Dernier message: 15/04/2011, 12h24
  3. Changer el type d'une variable sql sous postgre8/admin
    Par smag dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 24/08/2005, 12h31
  4. [ JSP ][ JavaScript ] Changer la valuer d'une variable
    Par romain3395 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 08/06/2004, 15h50
  5. Changer l'extension d'un variable
    Par snoop dans le forum Linux
    Réponses: 4
    Dernier message: 18/02/2004, 16h12

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