Retour arrière état initial

  • Initiateur de la discussion Initiateur de la discussion alan5
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

alan5

XLDnaute Nouveau
Bonjour,
Je suis novice en VBA. Je découvre.
J'ai créé une rangée avec des croix à l'intérieur, placé un bouton de commande
d'effacement pour la rangée. Cela fonctionne.
J'ai placé un deuxième bouton de commande pour revenir à l'état initial avec les croix.
Que faut-il inscrire ?
Merci pour vos réponses.
 

Pièces jointes

Re : Retour arrière état initial

Bonsoir à tous

Essaies ce petit exemple
Mets des X dans les cellules A1 à A10
Puis cliques sur le bouton 1
Code:
Dim t
Private Sub CommandButton1_Click()
t = Range("A1:A10").Value
Range("A1:A10") = Empty
End Sub
->Les X sont effacés

Ensuite cliques sur le bouton 2
Code:
Private Sub CommandButton2_Click()
Range("A1:A10").Value = t
End Sub
->Les X sont remis dans les cellules

PS
: Actuellement, je suis sous Excel 2003, donc ne peut ouvrir ta PJ, d'où mon petit exemple 😉
 
Re : Retour arrière état initial

Bonsoir à tous.


Un autre code permettant de conserver plusieurs contenus effacés :​
Code:
Option Explicit
Dim v(9)

Private Sub CommandButton1_Click()
Dim i%
  For i = UBound(v) To 1 Step -1: v(i) = v(i - 1): Next
  With Range("D10:U10")
    v(0) = .Value
    .ClearContents
  End With
End Sub

Private Sub CommandButton2_Click()
Dim i%
  Range("D10:U10").Value = v(0)
  For i = 1 To UBound(v): v(i - 1) = v(i): Next: v(i - 1) = Empty
End Sub


Bonne nuit.


ℝOGER2327
#7622


Vendredi 13 Haha 142 (Bienheureuse Fenouillard, sainte famille - fête Suprême Quarte)
27 Vendémiaire An CCXXIII, 9,9281h - piment
2014-W42-6T23:49:39Z
 

Pièces jointes

Dernière édition:
Re : Retour arrière état initial

Bonsoir,
Effectivement j'avais oublié le t ! Çà marche.
Par contre, j'ai créé deux rangées pour essai, deux boutons pour chaque rangée, appliqué les codes
mais le retour initial en rangée 1 applique les croix de la rangée 2.
Comme je suis novice, coincé.
Merci pour votre aide.
 

Pièces jointes

Re : Retour arrière état initial

Bonsoir à tous

Comme je le disais précedemment
PS: Actuellement, je suis sous Excel 2003, donc ne peut ouvrir ta PJ, d'où mon petit exemple 😉
je ne peux ouvrir que des fichiers *.xls

Donc je passe la main à mes petits camarades de jeux
Sinon au pif
Il suffit de créer deux arrays (Tableaux)
Code:
Dim ta
Dim tb
Private Sub CommandButton1_Click()
ta = Range("A1:A10").Value
Range("A1:A10") = Empty
End Sub
Private Sub CommandButton2_Click()
Range("A1:A10").Value = ta
End Sub
Private Sub CommandButton3_Click()
tb = Range("C1:C10").Value
Range("C1:C10") = Empty
End Sub
Private Sub CommandButton4_Click()
Range("C1:C10").Value = tb
End Sub
 
Re : Retour arrière état initial

Bonsoir à tous.

À alan5 : Dommage que le message #4 vous ait échappé. Sur cette base, on peut en écrire en rafale pour pas cher.


ℝOGER2327
#7626


Samedi 14 Haha 142 (Exhibition de la Daromphe - fête Suprême Quarte)
28 Vendémiaire An CCXXIII, 9,7364h - tomate
2014-W42-7T23:22:03Z


P.s. : pièce jointe supprimée : voir le message suivant.
 
Dernière édition:
Re : Retour arrière état initial

Bonjour à tous.


Je corrige une erreur dans l'affectation des boutons du classeur du message #8. J'en profite pour fournir une version .xls à l'usage de ceux qui (bonjour Staple1600 !) ne peuvent pas ouvrir les classeurs .xlsm.
Voici le code :​
Code:
Option Explicit
Dim PilePdDd(10, 1 To 7) 'Dix niveaux de stockage pour 7 plages.

Private Sub Efface(j%, r$)
Dim i%
  For i = UBound(PilePdDd) To 2 Step -1: PilePdDd(i, j) = PilePdDd(i - 1, j): Next: PilePdDd(0, j) = r
  With Range(r): PilePdDd(1, j) = .Value: .ClearContents: End With
End Sub

Private Sub Rappelle(j%)
Dim i%
  Range(PilePdDd(0, j)).Value = PilePdDd(1, j)
  For i = 2 To UBound(PilePdDd): PilePdDd(i - 1, j) = PilePdDd(i, j): Next: PilePdDd(i - 1, j) = Empty
End Sub

Private Sub Effacement_1_Clic()
  Efface 1, "D10:U10"
End Sub

Private Sub État_initial_1_Clic()
  Rappelle 1
End Sub

Private Sub Effacement_2_Clic()
  Efface 2, "D11:U11"
End Sub

Private Sub État_initial_2_Clic()
  Rappelle 2
End Sub

'                                  Ainsi de suite jusqu'à :
' ...

Private Sub Effacement_7_Clic()
  Efface 7, "O17:U17"
End Sub

Private Sub État_initial_7_Clic()
  Rappelle 7
End Sub


Bonne journée.


ℝOGER2327
#7627


Dimanche 15 Haha 142 (Nativité de l’Œstre, artificier - fête Suprême Tierce)
29 Vendémiaire An CCXXIII, 3,8448h - orge
2014-W43-1T09:13:39Z
 

Pièces jointes

Re : Retour arrière état initial

Bonjour à tous

Juste pour remercier ROGER2327 de sa sollicitude
(Je suis sous Excel 2013 à mon domicile, mais ici j'ai pas encore convaincu le propriétaire du PC d'installer le pack de compatibilité)

Du coup, en guise d'apéritif, m'en vais tester ta PJ xlisée 😉
 
Re : Retour arrière état initial

Bonjour,
Moi qui démarre dans le VBA, j'ai de quoi déjà réfléchir et étudié avec tout çà.
Pas évident de prime abord.
En tout cas un grand merci à vous tous.
Bye. @+
 
Dernière édition:
Re : Retour arrière état initial

Re...

Bonjour,
Moi qui démarre dans le VBA, j'ai de quoi déjà réfléchir et étudié avec tout çà.
Pas évident de prime abord.
En tout cas un grand merci à vous tous.
Bye. @+
Ce n'est pas vraiment compliqué, mais il y a l'emploi d'un méthode peu usitée (et c'est dommage) qui consiste à affecter des tableaux à un tableau.
Dans le classeur joint, j'ai ajouté une petite routine d'affichage pour voir ce qui se passe dans le tableau PilePdDd à chaque fois qu'il est modifié par l'une des procédures Efface ou Rappelle.​


Bon courage.


ℝOGER2327
#7632


Mardi 17 Haha 142 (Saint Homais d’Aquin, prudhomme - fête Suprême Quarte)
1[SUP]er[/SUP] Brumaire An CCXXIII, 1,0213h - pomme
2014-W43-3T02:27:04Z
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

V
Réponses
7
Affichages
1 K
Retour