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

S

suntsu95

Guest
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If (Target.Cells = [A2] Or Target.Column = 3 Or Target.Column = 5 Or Target.Column = 7 Or Target.Column = 9 Or Target.Column = 11) Then
If [D2] = "" Then
Target.Copy [d65000].End(xlUp)
Else
Target.Copy [b65000].End(xlUp).Offset(1, 0)
End If
Cancel = True
End If
End Sub

Bonjour !
Dans cette formule, il était proposé des colonnes (1, 3, 5 et 7...) en tant que "cibles"; j'ai échangé la colonne 1 par une cellule. Ca fonctionne, mais je souhaiterais avoir une plage de cellules. Comment puis-je faire ?
Merci de votre aide ! :🙂
 
Re : plage de cellules

Salut,

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If ((Target.cells.row=> 1 and Target.cells.row<= 5 and Target.cells.column<= 1 and Target.cells.column<= 5) Or Target.Column = 3 Or Target.Column = 5 Or Target.Column = 7 Or Target.Column = 9 Or Target.Column = 11) Then
If [D2] = "" Then
Target.Copy [d65000].End(xlUp)
Else
Target.Copy [b65000].End(xlUp).Offset(1, 0)
End If
Cancel = True
End If
End Sub


Pour une plage de A1 à E5.
 
Re : plage de cellules

Bonsoir,
Celeborn, beaucoup plus imple : de A1 à E5 et G1 à H5

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1:E5,G1:H5")) Is Nothing _
    Then MsgBox "ok": Cancel = True
End Sub
 
Re : plage de cellules

🙁 euh... encore besoin de vos service...
j'ai deux action différentes sur double click, sur une plage, ça m'affiche une croix et sur une autre, ça me copie la valeur de la cellule.
Ces deux macros fonctionnent parfaitement sur des onglets séparés, mais j'ai besoin de la associer dans un même onglet. Or, cela me signale une confusion... pourtant, les plages spécifiées ne sont pas les mêmes, selon la formule que vous m'avez indiqué auparavant..
ci-dessous, les formules.. Merci


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If (Target.Cells.Row >= 15 And Target.Cells.Row <= 19 And Target.Cells.Column <= 10 And Target.Cells.Column <= 13) = "" Then
Target = "X"
Target.Interior.ColorIndex = 3


Else
Target = ""
Target.Interior.ColorIndex = 6

End If
Cancel = True
End Sub
-------------------------------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If ((Target.Cells.Row >= 2 And Target.Cells.Row <= 33 And Target.Cells.Column <= 79 And Target.Cells.Column <= 82) Then
If [CD2] = "" Then
Target.Copy [cd65000].End(xlUp)
Else
Target.Copy [b65000].End(xlUp).Offset(1, 0)
End If
Cancel = True
End If
End Sub
 
Re : plage de cellules

Bonsoir, on ne peut pas mettre deux codes identiques dans la même feuille
De plus, tes deux codes ont des plages communes, dans la 1 ère condition, c'est bien de J15 à L19 que tu veux?
et dans la deuxième, de CA2 à CD33?

Dans la première condition, si tu n'es pas dans cette zone, tu mets la cellule en jaune, et dans la deuxième, la cellule sera donc en jaune, et tu feras tes copies...
Si c'est cela, essaie ce code, ou donne tes besoins en clair, ce sera plus facile

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("J15:L19")) Is Nothing Then
Target = "X": Target.Interior.ColorIndex = 3
Else
Target = ""
Target.Interior.ColorIndex = 6
End If
If Not Intersect(Target, Range("CA2:CD33")) Is Nothing Then
If [CD2] = "" Then
Target.Copy [cd65000].End(xlUp)
Else
Target.Copy [b65000].End(xlUp).Offset(1, 0)
End If
End If
Cancel = True
End Sub
 
Re : plage de cellules

merci beaucoup, je garde de côté la dernière proposition !
j'ai bien compris l'impossibilité de cumuler des même fonctions, du coup, j'ai opté pour le double click dans un cas et le click droit dans l'autre...

Ce forum est vrai bien; vous êtes vraiment extras d'aider efficacement et à toute heure !

Pour info, je suis officier de sapeurs-pompiers et je cherche un érudit de votre acabit pour m'aider à réaliser un programme d'aide à la décision en matière d'intervention face aux risques chimiques et biologiques. Mon "prototype" sur excel est préhistorique !🙁

Dans ce type d'intervention, la vie de nombreuses personnes, y compris les sauveteurs, dépend des décisions d'un seul homme: le conseiller technique du commandant des opérations de secours. La complexité des situations rencontrées et des calculs à effectuer mériteraient bien un programme informatique solide.

Malheureusement, je ne suis pas un spécialiste en la matière et je n'ai bien évidemment pas le budget pour soliciter des sociétés compétentes.

Si vous connaissez une personne débordante d'altruisme et d'abnégation pouvant correspondre à un tel projet, n'hésitez pas.
Je ne pourrais que lui proposer la paternité d'un logiciel qui serait mis gratuitement à disposition de centaines de "chimistes " officiers de sapeurs-pompiers dans toute la France, mais comme l'on dit chez nous, sauver une vie n'a pas de prix... c'est la chose la plus noble qui puisse arriver dans la vie d'un Homme.

Merci de votre aide,
très cordialement
 
- 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
4
Affichages
586
Réponses
15
Affichages
784
Retour