Annuler Action en VBA - CheckBox) Est-ce possible ?

papapaul

XLDnaute Impliqué
Bonjour Forum,:)

Dans la barre Excel, j'utilise souvent la flèche bleu vers la gauche
qui permet d'annuler l'action que l'on vient de faire.
D'une façon générale, peut-on faire la même chose avec VBA ?

Dans mon projet, voilà pourquoi :
J'ai une case à cocher qui exécute une macro quand je coche.
En l'occurence, elle écrase ou supprime des données à un endroit précis.
Quand je la décoche, je voudrais retrouver les données disparues.

Est-ce possible? :confused:

Merci d'avance. Vive XLD
 

CBernardT

XLDnaute Barbatruc
Re : Annuler Action en VBA - CheckBox) Est-ce possible ?

Bonjour papapaul,

Dans l'absolu c'est possible, il suffit de modifier la macro pour quelle soit à double sens. :)

Cependant il ne faut pas que le fait de cocher supprime des données nécessaires au retour à la situation précédente. ;)
 

papapaul

XLDnaute Impliqué
Re : Annuler Action en VBA - CheckBox) Est-ce possible ?

Bonjour Bernard,:) Matinal !!

Ben si, je supprime. Donc je comprends, c'est normal.
Mais si j'écrase en fait alors ça revient au même.:(

Je pense pouvoir contourner le probléme.
Je crée une copie de la zone de destination (ex: "Feuil1") sur une autre feuille (ex: "Copie avant rectif"))avant de cocher.

Mes cases à cocher sont sur feuille "Extraction" ou j'ai déja copier certaines lignes de ma "Feuil1" :(extraction des doublons d'un colonne choisie et copie des lignes entières)
Mes case à cocher sont associée à un n° de ligne.
Donc faut que je trouve comment écrire quand je décoche.

Trouve le n° de ligne qui est dans la cellule d'à côté
(ex: case en j1 et n° en j2)
Trouve la ligne de ce n° dans la feuille "Copie avant rectif" et va la recopier en "Feuil1" sur le même n° de ligne

Voilà pour l'idée, je peux pas encore te mettre de fichier,
c'est pas complètement au point.

Mais si t'a quand même un début de solution...:rolleyes:

Merci d'avance.
 

Cousinhub

XLDnaute Barbatruc
Re : Annuler Action en VBA - CheckBox) Est-ce possible ?

Bonjour,

Voilà pour l'idée, je peux pas encore te mettre de fichier,
c'est pas complètement au point.

Mais si t'a quand même un début de solution...

Euh, en français dans le texte, cela veut dire, si tu pouvais faire le fichier pour moi?

Pfffffffft....

Aller, un petit effort (et peut-être pas besoin de feuilles supplémentaires, ni de copies de cellules "à l'arrache".....)

PS, pas de début de solution, navré....

Bonne journée
 

papapaul

XLDnaute Impliqué
Re : Annuler Action en VBA - CheckBox) Est-ce possible ?

Debout de mauvais poil bbhh ??:D

Dans cette version y a pas encore les cases, je pense les mettre en K.
Y a pas non plus encore l'inputbox pour le choix de la colonne pour l'identification des doublons, (ce ne sera plus des doublons de lignes)
Pour ca , c'est en cours. J'ai ce qu'il faut.

Pour l'instant, grace a Skoobi, un dblclick sur une ligne me la recopie bien sur la Feuil1
(code dans This Workbook)

T'inquiète pas, je bosse, pas doué d'accord, mais j'essaye.
Ceci dit si t'a une idée.............

Bonne journée à tous Vive XLD :)
 

Pièces jointes

  • Extractions lignes doublons avec dates V5.xls
    74.5 KB · Affichages: 91
  • Extractions lignes doublons avec dates V5.xls
    74.5 KB · Affichages: 102
  • Extractions lignes doublons avec dates V5.xls
    74.5 KB · Affichages: 97

Cousinhub

XLDnaute Barbatruc
Re : Annuler Action en VBA - CheckBox) Est-ce possible ?

Re-,

Debout de mauvais poil bbhh ??

Décalage horaire oblige, heureusement que je ne viens pas de me lever...(Ici, il est déjà 16H35)

Et en regardant, à peine, ton classeur, ta question ne reflète pas du tout ce que tu désires....

Pas de case à cocher (ou du moins, je ne l'ai pas trouvée)

Une question, en feuille 1, dans la colonne K

D'autres questions, en feuille 3...

Et en déroulant le code, je vois que tu obtiens les numéros de lignes d'origine..

Ce qu'il manque, c'est le code "Dble Click", au niveau "ThisWorkbook", de délimiter les onglets assujettis, et ainsi, rectifier dans l'onglet d'origine....

Pas plus d'idées.....:D
 

papapaul

XLDnaute Impliqué
Re : Annuler Action en VBA - CheckBox) Est-ce possible ?

Bonjour Forum, je devrais peut-être créer un autre fil ? :rolleyes:
Je copie des lignes dans d'autres feuilles en fonction des doublons d'une colonne
et avec condition de dates.
But du jeu : Rectifier ces lignes et les recopier ou non à l'aide de cases à cocher.
Trop compliqué pour moi. :(
J'ai mis des explications en Feuil3
Merci d'avance aux experts.


 

Pièces jointes

  • Case a cocher pour rectifier V5.xls
    81 KB · Affichages: 114

Bebere

XLDnaute Barbatruc
Re : Annuler Action en VBA - CheckBox) Est-ce possible ?

bonjour Papapaul,Bhbh
tu ajoutes 1 à m
.Range("k" & m + 1)

code à tester
With Sheets("Autres")
fin1 = .Range("A65536").End(xlUp).Row
.Range("J" & fin1).Value = a
Set But = .CheckBoxes.Add(.Range("k" & fin1).Left, .Range("k" & fin1).Top, 100, -1)
But.Caption = "Rectif" & fin1
End With
à placer après
'copie les lignes sur Feuil "Autres"
Feuil1.Rows(a).Copy Sheets("Autres").Range("A65536").End(xlUp).Offset(1, 0)
à bientôt
 

papapaul

XLDnaute Impliqué
Re : Annuler Action en VBA - CheckBox) Est-ce possible ?

:)Salut Bebere, content de te voir, y a bien longtemps que j'étais venu
J'ai pas fait exactement comme tu m'a indiqué mais
avec ton exemple, j'y suis arrivé :p

Pour ceux que ça intéresse, l'insertion de cases à cocher ou de boutons.
Je joins 2 fichiers assez proches qui fonctionnent super bien.
1 du grand Thierry (génial comme d'hab) 1 autre de qui ?

Mon problème maintenant : C'est que pour mes cases à cocher,
Il faudrait y associer à chacune une macro :confused: j'explique en Feuil1 et 3.
Je continue à chercher.

Vive XLD
 

Pièces jointes

  • Case a cocher pour rectifier V6.xls
    75.5 KB · Affichages: 119
  • XLD-Auto-generation-OLEObjects-CheckBox.xls
    65.5 KB · Affichages: 149
  • bouton generes par macro.xls
    21.5 KB · Affichages: 84

Bebere

XLDnaute Barbatruc
Re : Annuler Action en VBA - CheckBox) Est-ce possible ?

Papapaul
employe plutôt les objets de la barre d'outils


Sub Macro2() 'enregistré par macro
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=408, Top:=70.5, Width:=108, Height:=19.5) _
.Select
Selection.ShapeRange.ScaleWidth 0.62, msoFalse, msoScaleFromTopLeft
End Sub

Sub CreationCode()
Dim X As Integer
With ActiveWorkbook.VBProject.VBComponents("Feuil2").CodeModule
X = .CountOfLines
.InsertLines X + 1, "Private Sub checkbox1_Click()"
.InsertLines X + 2, "i = 7"
.InsertLines X + 3, "If CheckBox1= True Then"
.InsertLines X + 4, "range(""A2:I2"").select"
.InsertLines X + 5, "EndIf "
.InsertLines X + 6, "End Sub"
End With

End Sub

à bientôt
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260