Copier/coller par double clic une cellule vers une autre dans une plage specifique

rayms

XLDnaute Nouveau
Bonjour à tous
Je suis novice avec le code VBA Donc voici mon souci
J’ai un tableau avec des données dans les colonnes A, B, et C. Par double clic je désire copier une donnée contenue dans la colonne A et de l’envoyée vers une autre cellule. Cette opération sera répétée pour les autres colonnes afin que je puisse ainsi remplir un formulaire sur cette même feuille mais dans des cellules différentes. J’ai bien trouvé un code sur une feuille Excel mais je ne peux que copier les données que dans la colonne M. Je ne trouve pas la solution pour envoyer les données vers d’autres cellules.
Exemple : Une donnée de la colonne A sera copiée en M6 Une donnée de la colonne B sera copiée en M7 Une donnée de la colonne C sera copiée en N7 Et ainsi de suite ….
Merci
 

Pièces jointes

  • Test1.xlsm
    15.1 KB · Affichages: 77
  • Test1.xlsm
    15.1 KB · Affichages: 98
  • Test1.xlsm
    15.1 KB · Affichages: 99

Jack2

XLDnaute Occasionnel
Re : Copier/coller par double clic une cellule vers une autre dans une plage specifiq

Bonjour rayms, bonjour à tous

J'ai essayé de faire varier les cellules de destination en fonction des cellules de départ, mais je bute sur la ligne With Sheets("feuil1").Range(Deb & "65536").End(xlUp).Row.Offset(1, 0)
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim C As Object
Dim i As Integer
Dim Col As String, Deb As String
Plages = Array("A:A", "B:B", "C:C")
'pour éviter les cellules vides
If Target.Value = "" Then Exit Sub

For i = 0 To 2
    Set C = Worksheets("Feuil1").Range(Plages(i)).Find(What:=Target, Lookat:=xlWhole)
    If Not C Is Nothing Then
        Col = Mid(C.Address, 2, 1)
        Exit For
    End If
Next i

Select Case Col
    Case "A"
        Deb = "L1"
    Case "B"
        Deb = "M6"
    Case "C"
        Deb = "N4"
End Select

If Target.Count = 1 Then
    With Sheets("feuil1").Range(Deb & "65536").End(xlUp).Row.Offset(1, 0) 
      .Value = Target.Value
      .NumberFormat = Target.NumberFormat
    End With
  End If
End Sub
Je vais continuer à chercher plus tard... sauf si quelqu'un trouve une solution
A+
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Copier/coller par double clic une cellule vers une autre dans une plage specifiq

Bonjour à tous,

un essai en pièce jointe

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    15.9 KB · Affichages: 111
  • 111.xlsm
    15.9 KB · Affichages: 136
  • 111.xlsm
    15.9 KB · Affichages: 127

rayms

XLDnaute Nouveau
Re : Copier/coller par double clic une cellule vers une autre dans une plage specifiq

Bonsoir Phlaurent55
Merci pour ta réponse aussi rapide !
Mais il faudrait que la copie des données parte dans se sens Une donnée de la colonne A sera toujours copiée en M6 Une donnée de la colonne B sera toujours copiée en M7 Une donnée de la colonne C sera toujours copiée en N7
Ainsi je pourrai remplir mon formulaire par clic successif
Et encore grand merci à toi
A+ Rayms
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Copier/coller par double clic une cellule vers une autre dans une plage specifiq

Re,

avec ce code qui se déclenche par sélection de la cellule:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect(Range("A1:C7"), Target) Is Nothing And Target.Count = 1 Then
 
  Select Case Target.Column
  Case 1
    With Sheets("feuil1").Range("M6" )
      .Value = Target
      .NumberFormat = Target.NumberFormat
    End With
  Case 2
    With Sheets("feuil1").Range("M7")
      .Value = Target
      .NumberFormat = Target.NumberFormat
    End With
  Case 3
    With Sheets("feuil1").Range("N7")
      .Value = Target
      .NumberFormat = Target.NumberFormat
    End With
   End Select
  
  End If
End Sub

ou celui-ci, par double-clic
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Range("A1:C7"), Target) Is Nothing And Target.Count = 1 Then
  
  Select Case Target.Column
  Case 1
    With Sheets("feuil1").Range("M6")
      .Value = Target
      .NumberFormat = Target.NumberFormat
    End With
  Case 2
    With Sheets("feuil1").Range("M7")
      .Value = Target
      .NumberFormat = Target.NumberFormat
    End With
  Case 3
    With Sheets("feuil1").Range("N7")
      .Value = Target
      .NumberFormat = Target.NumberFormat
    End With
   End Select
   
  End If
End Sub

à+
Philippe
 
Dernière édition:

rayms

XLDnaute Nouveau
Re : Copier/coller par double clic une cellule vers une autre dans une plage specifiq

Bonsoir Philippe
Oh grand merci que sa parait facile ....
Sa marche nickel !
Je rejoint Jack en tous points que l'apprentissage est un long chemin long et difficile .
Merci,bonne soirée à tous.
A+ Raymond.
 
Dernière édition:

rayms

XLDnaute Nouveau
Re : Copier/coller par double clic une cellule vers une autre dans une plage specifiq

Bonjour
Je reviens vers vous parce que je ne trouve pas solution à mon problème
J’ai toujours un tableau avec des données dans les colonnes A, B, et C. Par double clic je copie une donnée contenue dans la colonne A et je l’envoie vers une autre cellule. Cette opération est répétée pour les autres colonnes afin que je puisse ainsi remplir mon formulaire sur cette même feuille mais dans des cellules différentes.Vous avez bien trouvé le code qui est en tous point fonctionnel . Mais il peut arriver que pour un même produit plusieurs conditionnements sont possibles
Dans l'exemple A est conditionné de 3 façon différentes mais je n'arrive pas à trouver le complément de code qui me permettrai de remplir les cases suivante. J'ai beau chercher ce la dépasse mes compétences
Cordialement bien à vous...
Rayms
 

Pièces jointes

  • COND SEM P2.xls
    48 KB · Affichages: 71
  • COND SEM P2.xls
    48 KB · Affichages: 74
  • COND SEM P2.xls
    48 KB · Affichages: 82

Discussions similaires

Statistiques des forums

Discussions
312 178
Messages
2 085 984
Membres
103 079
dernier inscrit
sle