Macro Excel HELP

Résolu
Bonjour,

Je cherche a faire en sorte que la valeur de la case A1 aille dans la case C1 lorsque je clique sur mon bouton. Puis lorsque je reclique sur le bouton je veux que la valeur de A1 aille en C2, puis reclique===>C3... Etc...

Savez vous quel code je dois taper sur Visual Basic?

Merci d'avance
--
Thor tue

6 réponses

  1. C'est parfait! Exactement ce que je cherchais! Merci pour l'explication.
    0
    1. Contributeur
      re:

      je n'avais pas compris tout cela
      Private Sub CommandButton1_Click() 
              ActiveSheet.Unprotect
              Range("C65536").End(xlUp).Offset(1, 0) = Range("A1")
              Range("C65536").End(xlUp).Locked = True
              ActiveSheet.Protect
      End Sub
      

      pour répondre à ta question, une macro événementielle est une macro qui se lance automatiquement suite à un événement sur ton classeur par exemple : son ouverture, sa fermeture ou encore activation de feuille, ou selection ou modification de cellule (et encore bien d'autres événements)
      l'événement que j'avais suggéré était la saisie de la cellule A1
      0
      1. Euh désolé je n'ai pas tout compris (je débute les macros). Qu'est-ce qu'une macro évènementielle?
        Comment la créer?

        Es-tu sûr que sans bouton, la valeur de A1 s'affichera dans la case C au moment voulu?
        En fait je remplis un questionnaire et en A1 arrive le résultat, en C1 doit s'afficher le résultat lorsque je clique.
        Ensuite je re-remplis le questionnaire et lorsque je clique le résultat arrive en C2... Ensuite questionnaire>Clic>C3... Et Caetara

        0
        1. Contributeur
          bonjour

          macro evennementielle sur la saisie de la cellule A1 à placer dans le code de la feuille
          selectionner toutes les cellules, Menu Format / cellule
          onglet protection : décocher verrouillage.
          valider
          plus besoin du bouton
          Private Sub Worksheet_Change(ByVal Target As Range)
              If Target.Address = "$A$1" Then
                  ActiveSheet.Unprotect
                  Range("C65536").End(xlUp).Offset(1, 0) = Target
                  Range("C65536").End(xlUp).Locked = True
                  ActiveSheet.Protect
              End If
          End Sub
          

          0
          1. Alors ça marche sauf que lorsque les valeurs de A1 changent, les valeurs enregistrées successivement en colonne C changent également... Comment vérouiller les valeurs des différents cases "C"?
            0
            1. Salut,

              regardes ce bout de code avec un bouton VB

              Private Sub CommandButton1_Click()
              ActiveSheet.Range("A1").Copy Range("C65536").End(xlUp).Offset(1, 0)
              End Sub

              Ou ce code dans un module et à affecter à un bouton

              Sub Test2()
              ActiveSheet.Range("A1").Copy Range("C65536").End(xlUp).Offset(1, 0)
              End Sub

              A+
              0