[RESOLU] : Recherche d'une macro speciale

MADAGASCAR

XLDnaute Occasionnel
Bonsoir EXCEL DOWNLOADS
Bonsoir tout le monde
SVP chers membres .. est ce qu'on peut faire ce genre d'une macro .. j'ai expliqué ce que j'aimerai avoir si vous pouvez m'aider bien sur dans "Feuil1".
Mille fois merci d'avance pour vos suggestions
Cordialement
MADA BLACK
 

Pièces jointes

  • macro spéciale.xlsm
    17.2 KB · Affichages: 21
Dernière édition:

MADAGASCAR

XLDnaute Occasionnel
Re : Recherche d'une macro speciale

Bonsoir CBernardT
Merci 1000 fois pour votre aide ..votre suggestion
Surement vous m'avez mal compris .. svp si tu peux voir dans " Feuil1 "
Merci d'avance pour l'aide
Cordialement
MADA
 

Pièces jointes

  • Macro-speciale-V3.xlsm
    18.2 KB · Affichages: 20

MADAGASCAR

XLDnaute Occasionnel
Re : Recherche d'une macro speciale

Bonsoir CBernardT
Merci pour votre impeccable code
C'est exactement ce que j'ai voulu voir et avoir
Merci encore une autre fois
C'est parfaitement résolu
Cordialement
MADA
 

Pièces jointes

  • merci.jpg
    merci.jpg
    152.3 KB · Affichages: 11
  • merci.jpg
    merci.jpg
    152.3 KB · Affichages: 19

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : [RESOLU] : Recherche d'une macro speciale

Bonsoir MADAGASCAR, CBernardT,

Un autre essai tel que je l'avais interprété:

Quand on clique sur la forme, on active ou on inhibe le 'Mode copie valeur M19'.

Quand la forme indique "Actif" (fond rouge) alors le curseur se transforme en croix et toute future sélection (une seule cellule ou une zone) est remplie avec la valeur de M19. Un clique sur le bouton inhibe le 'Mode copie valeur M19'.

Le code est dans le module de feuille de Feuil1.

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xcell As Range
If ActiveSheet.Shapes("btCopie").TextFrame2.TextRange Like "*tif" Then
    Application.ScreenUpdating = False
    For Each xcell In Target
      If xcell.Address <> [m19].Address Then xcell = Range("m19").Value
    Next xcell
  End If
End Sub

Sub Cliquer()
Dim shp As Shape
  Set shp = ActiveSheet.Shapes("btCopie")
  With shp
    If .TextFrame2.TextRange Like "*tif" Then
      .Fill.ForeColor.RGB = RGB(221, 221, 221)
      .TextFrame2.TextRange = "Mode copie valeur M19" & vbLf & "Inhibé"
      Application.Cursor = xlDefault
    Else
      .Fill.ForeColor.RGB = RGB(255, 0, 0)
      .TextFrame2.TextRange = "Mode copie valeur M19" & vbLf & "Actif"
      DoEvents: Beep
      Application.Cursor = xlNorthwestArrow
    End If
  End With
End Subb
 

Pièces jointes

  • MADAGASCAR-macro spéciale-v1.xlsm
    20.3 KB · Affichages: 22

MADAGASCAR

XLDnaute Occasionnel
Re : [RESOLU] : Recherche d'une macro speciale

Bonsoir mapomme
Merci pour votre formidable code et fichier
Vraiment .. excellente idee de votre part
BRAVO mapomme
Encore merci
Cordialement
MADA
 

Pièces jointes

  • 1.jpg
    1.jpg
    31.5 KB · Affichages: 13
  • 1.jpg
    1.jpg
    31.5 KB · Affichages: 11

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Recherche d'une macro speciale

Bonsoir à tous,

Pour le fun et au cas où on aurait le clique ou la sélection un peu rapide (en mode bouton actif), rajout d'un bouton qui permet d'annuler successivement les dernières opérations de copie en valeur de M19, de la plus récente à la plus ancienne. Pour cela, on utilise une feuille masquée nommée 'Feuil1-Undo'.

nota: on restaure seulement le contenu précédent des cellules (constante, formule simple ou formule matricielle) puisque la copie n'affecte que le contenu des cellules et pas leur format.

nb: si pour une copie, le nombre de cellules modifiées dépasse le nombre de ligne max pour une feuille, alors l'opération d'annulation est impossible. Cela n'affecte pas l'annulation des copies antérieures ou postérieures. De toute façon, mieux vaut éviter pour une opération de copie donnée de le faire sur une très grande sélection car la méthode employée risque de prendre trop de temps d'exécution tant en copie qu'en annulation.
 

Pièces jointes

  • MADAGASCAR-macro spéciale-v2.xlsm
    32 KB · Affichages: 16
Dernière édition:

Discussions similaires