J'ai un code que j'ai récupérer sur le net, qui me permet par simple clic de copier une cellule, puis par double clic de la coller dans toute la feuille, par contre est-il possible de modifier ce code de façon à ne pouvoir utiliser ce collage par double clic que dans une certaine plage définie ex: A10:B100
Option Explicit
Dim rPrevious As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row < 7 Then
Set rPrevious = Target
Else
End If
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not rPrevious Is Nothing Then
rPrevious.Copy Destination:=Target 'copier les formats (couleur et bordure)
'Target.Value = rPrevious.Value 'ne pas copier les formats (couleur et bordure)
End If
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Le 19/03/20 à 08:22, totontitus a écrit :
Bonjour, J'ai un code que j'ai récupérer sur le net, qui me permet par simple clic de copier une cellule, puis par double clic de la coller dans toute la feuille, par contre est-il possible de modifier ce code de façon à ne pouvoir utiliser ce collage par double clic que dans une certaine plage définie ex: A10:B100 Option Explicit Dim rPrevious As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row < 7 Then Set rPrevious = Target Else End If End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not rPrevious Is Nothing Then rPrevious.Copy Destination:=Target 'copier les formats (couleur et bordure) 'Target.Value = rPrevious.Value 'ne pas copier les formats (couleur et bordure) End If End Sub Merci Cordilement
Bonjour, Le hic de ce type de procédure, lorsque tu arrives pour copier ce que tu as sélectionné, tu dois être sûr de faire un double-clic sur la cellule de destination, la différence entre un clic et un double-clic n'est pas très grande. Si par malheur tu fais un clic juste avant le double-clic, les données à copier auront disparu. 'Dans le haut du module Option Explicit Dim rPrevious As Range Dim Rg As Range '------------------------------------------------------------- Private Sub Worksheet_BeforeDoubleClick(ByVal Target _ As Range, Cancel As Boolean) If Target.Cells.Count = 1 Then Target.Resize(rPrevious.Rows.Count, _ rPrevious.Columns.Count).Value = rPrevious.Value Set rPrevious = Nothing Else Set rPrevious = Nothing End If End Sub '------------------------------------------------------------- 'Chaque fois que tu sélectionnes une plage de cellules dans 'la feuille de calcul, cet événement l'enregistre dans la 'variable "rPrevious. Dans cette procédure, il y a une 'condition pour que cela se produise, la colonne de la 'plage sélectionnée doit être dans la plage A1:B100 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If rPrevious Is Nothing Then Set Rg = Intersect(Target, Range("A1:B100")) 'Cette ligne de code test une sélection définie par la 'ligne précédente existe vraiment If Not Rg Is Nothing Then 'si oui, elle affecte rPrevious, la plage retenue Set rPrevious = Rg Else Set rPrevious = Rg End If End If End Sub '------------------------------------------------------------- MichD
Le 19/03/20 à 08:22, totontitus a écrit :
Bonjour,
J'ai un code que j'ai récupérer sur le net, qui me permet par simple clic de
copier une cellule, puis par double clic de la coller dans toute la feuille, par
contre est-il possible de modifier ce code de façon à ne pouvoir utiliser ce
collage par double clic que dans une certaine plage définie ex: A10:B100
Option Explicit
Dim rPrevious As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row < 7 Then
Set rPrevious = Target
Else
End If
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Not rPrevious Is Nothing Then
rPrevious.Copy Destination:=Target 'copier les formats (couleur et
bordure)
'Target.Value = rPrevious.Value 'ne pas copier les formats (couleur et
bordure)
End If
End Sub
Merci
Cordilement
Bonjour,
Le hic de ce type de procédure, lorsque tu arrives pour copier ce que tu
as sélectionné, tu dois être sûr de faire un double-clic sur la cellule
de destination, la différence entre un clic et un double-clic n'est pas
très grande. Si par malheur tu fais un clic juste avant le double-clic,
les données à copier auront disparu.
'Dans le haut du module
Option Explicit
Dim rPrevious As Range
Dim Rg As Range
'-------------------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target _
As Range, Cancel As Boolean)
If Target.Cells.Count = 1 Then
Target.Resize(rPrevious.Rows.Count, _
rPrevious.Columns.Count).Value = rPrevious.Value
Set rPrevious = Nothing
Else
Set rPrevious = Nothing
End If
End Sub
'-------------------------------------------------------------
'Chaque fois que tu sélectionnes une plage de cellules dans
'la feuille de calcul, cet événement l'enregistre dans la
'variable "rPrevious. Dans cette procédure, il y a une
'condition pour que cela se produise, la colonne de la
'plage sélectionnée doit être dans la plage A1:B100
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If rPrevious Is Nothing Then
Set Rg = Intersect(Target, Range("A1:B100"))
'Cette ligne de code test une sélection définie par la
'ligne précédente existe vraiment
If Not Rg Is Nothing Then
'si oui, elle affecte rPrevious, la plage retenue
Set rPrevious = Rg
Else
Set rPrevious = Rg
End If
End If
End Sub
'-------------------------------------------------------------
Bonjour, J'ai un code que j'ai récupérer sur le net, qui me permet par simple clic de copier une cellule, puis par double clic de la coller dans toute la feuille, par contre est-il possible de modifier ce code de façon à ne pouvoir utiliser ce collage par double clic que dans une certaine plage définie ex: A10:B100 Option Explicit Dim rPrevious As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row < 7 Then Set rPrevious = Target Else End If End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not rPrevious Is Nothing Then rPrevious.Copy Destination:=Target 'copier les formats (couleur et bordure) 'Target.Value = rPrevious.Value 'ne pas copier les formats (couleur et bordure) End If End Sub Merci Cordilement
Bonjour, Le hic de ce type de procédure, lorsque tu arrives pour copier ce que tu as sélectionné, tu dois être sûr de faire un double-clic sur la cellule de destination, la différence entre un clic et un double-clic n'est pas très grande. Si par malheur tu fais un clic juste avant le double-clic, les données à copier auront disparu. 'Dans le haut du module Option Explicit Dim rPrevious As Range Dim Rg As Range '------------------------------------------------------------- Private Sub Worksheet_BeforeDoubleClick(ByVal Target _ As Range, Cancel As Boolean) If Target.Cells.Count = 1 Then Target.Resize(rPrevious.Rows.Count, _ rPrevious.Columns.Count).Value = rPrevious.Value Set rPrevious = Nothing Else Set rPrevious = Nothing End If End Sub '------------------------------------------------------------- 'Chaque fois que tu sélectionnes une plage de cellules dans 'la feuille de calcul, cet événement l'enregistre dans la 'variable "rPrevious. Dans cette procédure, il y a une 'condition pour que cela se produise, la colonne de la 'plage sélectionnée doit être dans la plage A1:B100 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If rPrevious Is Nothing Then Set Rg = Intersect(Target, Range("A1:B100")) 'Cette ligne de code test une sélection définie par la 'ligne précédente existe vraiment If Not Rg Is Nothing Then 'si oui, elle affecte rPrevious, la plage retenue Set rPrevious = Rg Else Set rPrevious = Rg End If End If End Sub '------------------------------------------------------------- MichD
totontitus
Le jeudi 19 Mars 2020 à 13:22 par totontitus :
Bonjour, J'ai un code que j'ai récupérer sur le net, qui me permet par simple clic de copier une cellule, puis par double clic de la coller dans toute la feuille, par contre est-il possible de modifier ce code de façon à ne pouvoir utiliser ce collage par double clic que dans une certaine plage définie ex: A10:B100 Option Explicit Dim rPrevious As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row < 7 Then Set rPrevious = Target Else End If End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not rPrevious Is Nothing Then rPrevious.Copy Destination:=Target 'copier les formats (couleur et bordure) 'Target.Value = rPrevious.Value 'ne pas copier les formats (couleur et bordure) End If End Sub Merci Cordilement
Bonjour MichD Merci de m'aider en fait je vous ai mis un fichier pour plus de compréhension Ps: dans le fichier joint ne tenir en compte que la plage B8:B38 pour le collage https://www.cjoint.com/c/JCtrxXd322j
Le jeudi 19 Mars 2020 à 13:22 par totontitus :
> Bonjour,
>
> J'ai un code que j'ai récupérer sur le net, qui me permet par
> simple clic de copier une cellule, puis par double clic de la coller dans toute
> la feuille, par contre est-il possible de modifier ce code de façon
> à ne pouvoir utiliser ce collage par double clic que dans une certaine
> plage définie ex: A10:B100
>
> Option Explicit
> Dim rPrevious As Range
> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
> If Target.Row < 7 Then
> Set rPrevious = Target
> Else
> End If
> End Sub
> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
> Boolean)
> If Not rPrevious Is Nothing Then
> rPrevious.Copy Destination:=Target 'copier les formats (couleur et
> bordure)
> 'Target.Value = rPrevious.Value 'ne pas copier les formats (couleur et
> bordure)
> End If
> End Sub
>
> Merci
>
> Cordilement
Bonjour MichD
Merci de m'aider en fait je vous ai mis un fichier pour plus de compréhension
Ps: dans le fichier joint ne tenir en compte que la plage B8:B38 pour le collage
https://www.cjoint.com/c/JCtrxXd322j
Bonjour, J'ai un code que j'ai récupérer sur le net, qui me permet par simple clic de copier une cellule, puis par double clic de la coller dans toute la feuille, par contre est-il possible de modifier ce code de façon à ne pouvoir utiliser ce collage par double clic que dans une certaine plage définie ex: A10:B100 Option Explicit Dim rPrevious As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row < 7 Then Set rPrevious = Target Else End If End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not rPrevious Is Nothing Then rPrevious.Copy Destination:=Target 'copier les formats (couleur et bordure) 'Target.Value = rPrevious.Value 'ne pas copier les formats (couleur et bordure) End If End Sub Merci Cordilement
Bonjour MichD Merci de m'aider en fait je vous ai mis un fichier pour plus de compréhension Ps: dans le fichier joint ne tenir en compte que la plage B8:B38 pour le collage https://www.cjoint.com/c/JCtrxXd322j
MichD
Ton fichier : https://www.cjoint.com/c/JCttoqORw6j MichD
Ton fichier : https://www.cjoint.com/c/JCttoqORw6j
Ton fichier : https://www.cjoint.com/c/JCttoqORw6j MichD
MichD
Le 19/03/20 à 15:15, MichD a écrit :
Ton fichier : https://www.cjoint.com/c/JCttoqORw6j MichD
Tu sais, tu peux sélectionner plus d'une cellule adjacente à la fois dans la même colonne pour d'effectuer la recopie dans la colonne B. Exemple D2:D5 pour la recopie des 4 cellules en colonne B. J'ai modifié une ligne de code si tu devais copier plus d'une ligne à la fois pour faciliter la suppression des données en cas d'erreur https://www.cjoint.com/c/JCttFWPnbij MichD
Le 19/03/20 à 15:15, MichD a écrit :
Ton fichier : https://www.cjoint.com/c/JCttoqORw6j
MichD
Tu sais, tu peux sélectionner plus d'une cellule adjacente à la fois
dans la même colonne pour d'effectuer la recopie dans la colonne B.
Exemple D2:D5 pour la recopie des 4 cellules en colonne B.
J'ai modifié une ligne de code si tu devais copier plus d'une ligne à la
fois pour faciliter la suppression des données en cas d'erreur
Ton fichier : https://www.cjoint.com/c/JCttoqORw6j MichD
Tu sais, tu peux sélectionner plus d'une cellule adjacente à la fois dans la même colonne pour d'effectuer la recopie dans la colonne B. Exemple D2:D5 pour la recopie des 4 cellules en colonne B. J'ai modifié une ligne de code si tu devais copier plus d'une ligne à la fois pour faciliter la suppression des données en cas d'erreur https://www.cjoint.com/c/JCttFWPnbij MichD
totontitus
Le jeudi 19 Mars 2020 à 20:15 par MichD :
Ton fichier : https://www.cjoint.com/c/JCttoqORw6j MichD
Bonsoir MichD Merci bien c'est gentil de votre part de m'avoir aidé, c'est exactement ce que je voulais mise à part un petit truc qui fonctionnait sur l'autre macro et pas sur la votre, c'est à dire que sur l'autre macro je cliquais une fois sur un poste et je pouvais le coller autant de fois que je voulais, tandis qu' avec votre code si j'ai plusieurs même poste à coller il faut chaque fois que j'aille rechercher le poste concerné, mais bon si la correction n'est pas trop longue et que vous voulez bien me la faire ce serait le top, si non cela n'est pas trop grave En tout les cas merci beaucoup de votre dévouement Cordialement
Le jeudi 19 Mars 2020 à 20:15 par MichD :
> Ton fichier : https://www.cjoint.com/c/JCttoqORw6j
>
> MichD
Bonsoir MichD
Merci bien c'est gentil de votre part de m'avoir aidé, c'est exactement ce que je voulais mise à part un petit truc qui fonctionnait sur l'autre macro et pas sur la votre, c'est à dire que sur l'autre macro je cliquais une fois sur un poste et je pouvais le coller autant de fois que je voulais, tandis qu' avec votre code si j'ai plusieurs même poste à coller il faut chaque fois que j'aille rechercher le poste concerné, mais bon si la correction n'est pas trop longue et que vous voulez bien me la faire ce serait le top, si non cela n'est pas trop grave
En tout les cas merci beaucoup de votre dévouement
Cordialement
Ton fichier : https://www.cjoint.com/c/JCttoqORw6j MichD
Bonsoir MichD Merci bien c'est gentil de votre part de m'avoir aidé, c'est exactement ce que je voulais mise à part un petit truc qui fonctionnait sur l'autre macro et pas sur la votre, c'est à dire que sur l'autre macro je cliquais une fois sur un poste et je pouvais le coller autant de fois que je voulais, tandis qu' avec votre code si j'ai plusieurs même poste à coller il faut chaque fois que j'aille rechercher le poste concerné, mais bon si la correction n'est pas trop longue et que vous voulez bien me la faire ce serait le top, si non cela n'est pas trop grave En tout les cas merci beaucoup de votre dévouement Cordialement
MichD
Le 19/03/20 à 15:56, totontitus a écrit :
Le jeudi 19 Mars 2020 à 20:15 par MichD :
Ton fichier : https://www.cjoint.com/c/JCttoqORw6j MichD
Bonsoir MichD Merci bien c'est gentil de votre part de m'avoir aidé, c'est exactement ce que je voulais mise à part un petit truc qui fonctionnait sur l'autre macro et pas sur la votre, c'est à dire que sur l'autre macro je cliquais une fois sur un poste et je pouvais le coller autant de fois que je voulais, tandis qu' avec votre code si j'ai plusieurs même poste à coller il faut chaque fois que j'aille rechercher le poste concerné, mais bon si la correction n'est pas trop longue et que vous voulez bien me la faire ce serait le top, si non cela n'est pas trop grave En tout les cas merci beaucoup de votre dévouement Cordialement
Voir ce fichier : https://www.cjoint.com/c/JCtvtWmDxUj MichD
Le 19/03/20 à 15:56, totontitus a écrit :
Le jeudi 19 Mars 2020 à 20:15 par MichD :
Ton fichier : https://www.cjoint.com/c/JCttoqORw6j
MichD
Bonsoir MichD
Merci bien c'est gentil de votre part de m'avoir aidé, c'est exactement ce que
je voulais mise à part un petit truc qui fonctionnait sur l'autre macro et pas
sur la votre, c'est à dire que sur l'autre macro je cliquais une fois sur un
poste et je pouvais le coller autant de fois que je voulais, tandis qu' avec
votre code si j'ai plusieurs même poste à coller il faut chaque fois que j'aille
rechercher le poste concerné, mais bon si la correction n'est pas trop longue et
que vous voulez bien me la faire ce serait le top, si non cela n'est pas trop
grave
En tout les cas merci beaucoup de votre dévouement
Cordialement
Voir ce fichier : https://www.cjoint.com/c/JCtvtWmDxUj
Ton fichier : https://www.cjoint.com/c/JCttoqORw6j MichD
Bonsoir MichD Merci bien c'est gentil de votre part de m'avoir aidé, c'est exactement ce que je voulais mise à part un petit truc qui fonctionnait sur l'autre macro et pas sur la votre, c'est à dire que sur l'autre macro je cliquais une fois sur un poste et je pouvais le coller autant de fois que je voulais, tandis qu' avec votre code si j'ai plusieurs même poste à coller il faut chaque fois que j'aille rechercher le poste concerné, mais bon si la correction n'est pas trop longue et que vous voulez bien me la faire ce serait le top, si non cela n'est pas trop grave En tout les cas merci beaucoup de votre dévouement Cordialement
Voir ce fichier : https://www.cjoint.com/c/JCtvtWmDxUj MichD
totontitus
Le jeudi 19 Mars 2020 à 13:22 par totontitus :
Bonjour, J'ai un code que j'ai récupérer sur le net, qui me permet par simple clic de copier une cellule, puis par double clic de la coller dans toute la feuille, par contre est-il possible de modifier ce code de façon à ne pouvoir utiliser ce collage par double clic que dans une certaine plage définie ex: A10:B100 Option Explicit Dim rPrevious As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row < 7 Then Set rPrevious = Target Else End If End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not rPrevious Is Nothing Then rPrevious.Copy Destination:=Target 'copier les formats (couleur et bordure) 'Target.Value = rPrevious.Value 'ne pas copier les formats (couleur et bordure) End If End Sub Merci Cordilement
Bonjour MichD Excellent, merci, merci, pour cette correction, c'est juste comme je le souhaitais. Bonne journée à vous Cordialement
Le jeudi 19 Mars 2020 à 13:22 par totontitus :
> Bonjour,
>
> J'ai un code que j'ai récupérer sur le net, qui me permet par
> simple clic de copier une cellule, puis par double clic de la coller dans toute
> la feuille, par contre est-il possible de modifier ce code de façon
> à ne pouvoir utiliser ce collage par double clic que dans une certaine
> plage définie ex: A10:B100
>
> Option Explicit
> Dim rPrevious As Range
> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
> If Target.Row < 7 Then
> Set rPrevious = Target
> Else
> End If
> End Sub
> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
> Boolean)
> If Not rPrevious Is Nothing Then
> rPrevious.Copy Destination:=Target 'copier les formats (couleur et
> bordure)
> 'Target.Value = rPrevious.Value 'ne pas copier les formats (couleur et
> bordure)
> End If
> End Sub
>
> Merci
>
> Cordilement
Bonjour MichD
Excellent, merci, merci, pour cette correction, c'est juste comme je le souhaitais.
Bonne journée à vous
Cordialement
Bonjour, J'ai un code que j'ai récupérer sur le net, qui me permet par simple clic de copier une cellule, puis par double clic de la coller dans toute la feuille, par contre est-il possible de modifier ce code de façon à ne pouvoir utiliser ce collage par double clic que dans une certaine plage définie ex: A10:B100 Option Explicit Dim rPrevious As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row < 7 Then Set rPrevious = Target Else End If End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not rPrevious Is Nothing Then rPrevious.Copy Destination:=Target 'copier les formats (couleur et bordure) 'Target.Value = rPrevious.Value 'ne pas copier les formats (couleur et bordure) End If End Sub Merci Cordilement
Bonjour MichD Excellent, merci, merci, pour cette correction, c'est juste comme je le souhaitais. Bonne journée à vous Cordialement