copier coller before double click

  • Initiateur de la discussion Initiateur de la discussion zefirstfan
  • 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 !

Z

zefirstfan

Guest
Bonjour a tous,

Un petit probleme de copier coller avec before doubleclick.

Un double click dans une des cellules de la zone H2:AL100
1/Ouvre un MsgBox "Copier valeurs?" Option Yes /No
Si Yes:
2/ fermer le msgbox et copier les values des colonnes A:E de la ligne active vers la feuille 2 Cellules A1 a E1.
Si No: fermer le MsgBox

Probleme: Cette operation doit s'integrer dans une procedure WorkSheet_BeforeDoubleClick deja existante pour cette page donc avec du IF...THEN...ELSE.

Explications dans le fichier joint (fichier 2003 mais je suis compatible 2007)

Merci pour votre aide.
Zeuf
 

Pièces jointes

Re : copier coller before double click

Bonjour Sousou,
J'ai juste envoye un fichier exemple car mon fichier final est deja bien rempli avec des donnees perso.
Le code de cette page est le suivant (encore merci a Mapomme qui m'a bien depanne).
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim xRg As Range, leJourDebut As Date

'Si on ne double-clique pas sur la colonne G, on regarde si on a double-cliqué
' sur la 1ière ligne du diagramme
If Target.Column = Range("G1").Column Then
'Si la valeur de la cellule n'est pas 'Done', on ne fait rien
If LCase(Target) <> "done" Then Exit Sub
'Si on a double-cliqué sur la ligne 1, on ne fait rien
If Target.Row = 1 Then Exit Sub
'on annule l'action normal du double -clique
Cancel = True
' recherche de la dernière cellule non vide
Set xRg = Cells(Rows.Count, 1).End(xlUp)
' la 1ière cellule vide est une ligne plus bas
Set xRg = xRg.Offset(1, 0)
' copy de la ligne à la 1ière ligne vide
Range(Cells(Target.Row, "A"), Cells(Target.Row, "G")).Copy Destination:=xRg
' détermination de la date programmée
Cells(xRg.Row, "D") = Cells(Target.Row, "F")
' détermination de la date de la prochaine MP
Cells(xRg.Row, "F") = Cells(xRg.Row, "D") + Cells(xRg.Row, "E")
' effacement de la valeur 'Done'
Cells(xRg.Row, "G").ClearContents

ElseIf Target.Column >= Range("H1").Column And Target.Row = 1 Then
' on a double-cliqué sur la 1ière ligne du diagramme
Cancel = True
MsgBox ("Changement de la date de début du diagramme")
leJourDebut = FormCal.Calendrier
If leJourDebut = 0 Then Exit Sub
Range("H1") = leJourDebut
Else
End If
End Sub
 
Re : copier coller before double click

RE Essaie d'insérer ce code en début de ta macro

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Column > 7 And Target.Row > 1 Then
rep = MsgBox("Copier Valeurs ?", vbYesNo, "Titre")
If rep = 7 Then
Exit Sub
End If
End If
With ActiveSheet
Set zone = .Range(.Cells(Target.Row, 1), .Cells(Target.Row, 5))
zone.Select
zone.Copy (ThisWorkbook.Sheets(2).Range("a1"))

End With

suite de ta macro
 
Re : copier coller before double click

Re,
Juste un petit rajout si c'est possible.
1/Faire en sorte que le doubleclick uniquement sur les cellules de H2 a AZ100 (col 49) ne declenche cette procedure.
2/Lorsque cette procedure est realisee(le copier-Coller), j'aimerai activer la feuille 2, mais uniquement pour cette procedure.
Lors de l'execution des 2 autres procedures, on doit rester sur la feuille 1.
J'ai rajouter "Sheets("Work Order").Activate" a la fin de ton code mais ca m'affiche la feuille 2 pour les 3 procedures.
Merci encore une fois.
Zeuf.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
964
M
Réponses
4
Affichages
3 K
M
B
Réponses
6
Affichages
6 K
B
Retour