copier coller before double click

zefirstfan

XLDnaute Junior
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

  • Fichier exemple.xls
    34 KB · Affichages: 44
  • Fichier exemple.xls
    34 KB · Affichages: 42
  • Fichier exemple.xls
    34 KB · Affichages: 37

zefirstfan

XLDnaute Junior
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
 

sousou

XLDnaute Barbatruc
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
 

zefirstfan

XLDnaute Junior
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.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin