Maccro excel

Résolu
Bonjour,
-Je voudrais savoir pourquoi quand je veut insérer une maccro que quelcun m'a donneé comme:
Sub zero()
Public Sub Worksheet_Change(ByVal Target As Range)
Static flag As Boolean
If Target.Address = "$I$8" And Target = "X" And flag = False Then
flag = True
Range("F8") = Range("G8")
Range("G8") = 0
End If
End Sub
End Sub

-me donne se message quand je veux l'exécuter:

Erreur de compilation:
Seuls des commentaire peuvent apparaitrent après End Sub, End Property, ou end function.

-je voudrais aussi savoir comment supprimer les lignes du fichier si dessous lors de son impression quand les fonction SI de la colonne A n'affiche rien?
En vous remerciant d'avence.
Bruno

http://www.cijoint.fr/cjlink.php?file=cj201002/cij83qzFRv.xlsx
Configuration: Windows 7 Internet Explorer 7.0

20 réponses

  1. Désolé c'est G qui se remet a zero
    Merci
    0
    1. J'ai changer la maccro pour que G prenne la valeur de F mais des que la valeur de F augmente F se remet a zero et H prend la valeur de F alors que j'aimerais que h garde la valeur lorsquon a mis X en J et que H soit egal a F-G
      Est-ce possible?
      Merci pour le cour je vais essailler d'aprendre alors mais le temps me manque un peut.
      0
      1. Mince alor c'est G qui prend F et H qui se remet a zero mais cela se fait par une soustraction donc juste G qui prend la valeur de F par contre juste la valeur pas la formule Max pour que F puisse changer sans que G change.
        Ou peut on trouver une formation VBA?
        Merci en tout cas
        0
        1. j'ai fait la macro suivant les données que tu as mi au début ^^ (f qui est remplacé par g et g qui devien 0)
          0
          1. Private Sub Worksheet_Change(ByVal Target As Range)

            If Target.Value = "X" Or Target.Value = "x" Then
            Range("g" & Target.Row).Value = Range("h" & Target.Row).Value
            Range("h" & Target.Row).Value = "0"
            End If
            End Sub

            0
            1. OK MERCI BEAUCOUP!!!!
              C'est la joie par contre pourquoi la colonne F se remet a zero dans tout les cas ne pourait-on pas garder la cellule F a sa valeur meme en metant une croi

              Merci
              0
              1. double clic sur feuil2 au lieu de workbook, ca évitera de mettre le bazar si tu a d'autres info sur d'autres feuilles que tu ne voudrai pas changer (et ca ne plantera pas)
                0
                1. Quand tu ouvres VBA, sur la gauche tu as un volet "Projet - VBA projet"

                  Dedans tu as un onglet "This workbook".

                  Tu doubles clique dessus et tu colles le code dans l'onglet qui s'ouvre

                  (dsl c'était pas worksheet, erreur de ma part)
                  0
                  1. Je sais que je devient lourd mais je ne sais pas ou se trouve worksheet...
                    je suis désolé par ma nulitée sur se coup
                    En tout cas merci pour tout.
                    0
                    1. tu ouvres VBA, double click sur worksheet et tu colles le code que t'as fourni garion. Ca marche
                      0
                      1. Je ne comprend pas pourquoi, mais je suis obliger de rentrer un nom de maccro pour l'utiliser et quand je le met il me met problème de compilation donc je ne comprend plus. Y-a-t'il une metode particulière a avoir pour rentrée une maccro?

                        Je vous remercie pour votre aide.
                        0
                        1. le code qui suit fonctionne, cependant dans chaque cellule de la colonne F il y a une référence a la colonne du dessus, du coup ca change une bonne partie des autres cellules de la même colonne
                          Private Sub Worksheet_Change(ByVal Target As Range)
                          
                          If Target.Value = "X" Or Target.Value = "x" Then
                              Range("F" & Target.Row).Value = Range("G" & Target.Row).Value
                              Range("G" & Target.Row).Value = "0"
                          End If
                          End Sub
                          
                          0
                          1. Bonjour Garion et merci pour ton aide m'ai je narrive toujour pas a le faire fonctionner sa en devien ridicule je croi que je me suis planté quant j'ai taper la première:
                            http://www.cijoint.fr/cjlink.php?file=cj201002/cij0gWp3jU.xls
                            Sur se lien il y a sur la feuille deux les la feuille ou je veut faire cette maccro qui consiste a:
                            Quant on met un X dan la colonne J, la colonne G prend la valeur de la colonne H et la colonne H se met à 0 je ne sais pas si c'est trés clair?

                            En tout cas merci beaucoup pour votre aide.
                            0
                            1. fait alt + F11 pour ouvrir l'éditeur vba, puis dans la page de ta feuille où tu veu voir la modification s'effectuer (toujours dans l'éditeur vba) tu colle ce qui suit
                              Public Sub Worksheet_Change(ByVal Target As Range)
                              dim rge as range
                              dim i as long
                              
                              i=1
                              
                              for each rge in range("I1:I65536")
                              if rge.value="X" then
                              range("F" & i").value=range("G" & i).value
                              range("G" & i).value="0"
                              end if
                              next rge
                              End Sub


                              normalement ca devrai marcher
                              par contre je n'ai jamais vraiment utilié la suppression de ligne par macro ni l'impression donc pour ta deuxième question je ne peu pas t'aider
                              0
                              1. Voila:
                                http://www.cijoint.fr/cjlink.php?file=cj201002/cijDuRnBv9.xls

                                C'est par raport à ma deuxieme question.

                                Merci
                                0
                                1. Peux tu mettre ton fichier sur ci joint au format excel 2003?
                                  0
                                  1. Aussi si je veut appliquer cette maccro a toute la colonne comment faire?
                                    Merci
                                    0
                                    1. Merci farfadet mais ça ne marche toujours pas je n'ai plus le message d'erreur mais la macro ne fonctionne pas il m'a demander d'ajouter un nom de maccro quand j'ai voulu enlever Sub zero() et VBA à mis un trai sous la maccro avec a nouveau Sub "Titre"
                                      End sub
                                      Je n'arriverais jamais a faire des maccro pourtant j'en ai vraiment envie lol
                                      Pour la deuxieme question est-ce possible?
                                      Merci
                                      0
                                      1. Essaye d'enlever

                                        Sub zero ()

                                        et un des End sub
                                        0