Macro Excel HELP

Résolu/Fermé
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 - 8 avril 2009 à 15:16
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 - 9 avril 2009 à 11:58
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
A voir également:

6 réponses

Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 111
8 avril 2009 à 15:53
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
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 1 369
9 avril 2009 à 09:21
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
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
9 avril 2009 à 10:41
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
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 1 369
9 avril 2009 à 11:09
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
9 avril 2009 à 11:52
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
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 1 369
9 avril 2009 à 11:58
C'est parfait! Exactement ce que je cherchais! Merci pour l'explication.
0