le but est que je fasse une macro qui lors de son activation me copie le contenu de la cellule sélectionnée dans une autre cellule de sauvegarde et reste bien sur sur ma cellule de depart
Exemple : je sélectionne la cellule de A3 jusqu'à K3 et lors de la sélection le contenu se recopie dans A1 mais reste sur la cellule sélectionnée départ
Exemple : je sélectionne la cellule de A3 jusqu'à K3 et lors de la sélection le contenu se recopie dans A1 mais reste sur la cellule sélectionnée départ
Quand je sélectionne une cellule A3 ou B3 ou jusqu'a K3 , (une seule cellule a la fois bien sur, pas une selection de cellule)
Pour dire plus simple
Si je suis sur la cellule A3 et je lance la macro le contenu se copie dans A1 et je peux modifié la cellule A3 , mais je garde en visuel l'ancien contenu de A3 , jusqu'a une nouvelle selection de cellule
Quand je sélectionne une cellule A3 ou B3 ou jusqu'a K3 , (une seule cellule a la fois bien sur, pas une selection de cellule)
Pour dire plus simple
Si je suis sur la cellule A3 et je lance la macro le contenu se copie dans A1 et je peux modifié la cellule A3 , mais je garde en visuel l'ancien contenu de A3 , jusqu'a une nouvelle selection de cellule
En PJ deux exemples possibles.
Feuil1, c'est automatique il suffit de cliquer sur une cellule dans A3:K3 pour recopier la valeur+1 en A1, avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A3:K3")) Is Nothing Then
[A1] = Target + 1
End If
Fin:
End Sub
En Feuil2 avec un bouton et la macro:
Code:
Sub Copie()
If ActiveCell.Count > 1 Then Exit Sub
If ActiveCell.Row = 3 And ActiveCell.Column >= 3 And ActiveCell.Column <= 11 Then [A1] = ActiveCell.Value + 1
End Sub
Par contre la phrase "rajouter + 1 a la valeur qu'il y avait." est ambiguë, on ne sait pas si on rajoute +1 à la cellule ou à A1.
En PJ2, c'est pareil, mais on ajoute +1 à la cellule et non à A1. Avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A3:K3")) Is Nothing Then
Application.EnableEvents = False
[A1] = Target
Target = Target + 1
Application.EnableEvents = True
End If
Fin:
End Sub
et
Sub Copie()
If ActiveCell.Count > 1 Then Exit Sub
If ActiveCell.Row = 3 And ActiveCell.Column >= 3 And ActiveCell.Column <= 11 Then
[A1] = ActiveCell.Value
ActiveCell.Value = ActiveCell.Value + 1
End If
End Sub
En PJ deux exemples possibles.
Feuil1, c'est automatique il suffit de cliquer sur une cellule dans A3:K3 pour recopier la valeur+1 en A1, avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A3:K3")) Is Nothing Then
[A1] = Target + 1
End If
Fin:
End Sub
En Feuil2 avec un bouton et la macro:
Code:
Sub Copie()
If ActiveCell.Count > 1 Then Exit Sub
If ActiveCell.Row = 3 And ActiveCell.Column >= 3 And ActiveCell.Column <= 11 Then [A1] = ActiveCell.Value + 1
End Sub
Par contre la phrase "rajouter + 1 a la valeur qu'il y avait."
En PJ deux exemples possibles.
Feuil1, c'est automatique il suffit de cliquer sur une cellule dans A3:K3 pour recopier la valeur+1 en A1, avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A3:K3")) Is Nothing Then
[A1] = Target + 1
End If
Fin:
End Sub
En Feuil2 avec un bouton et la macro:
Code:
Sub Copie()
If ActiveCell.Count > 1 Then Exit Sub
If ActiveCell.Row = 3 And ActiveCell.Column >= 3 And ActiveCell.Column <= 11 Then [A1] = ActiveCell.Value + 1
End Sub
Par contre la phrase "rajouter + 1 a la valeur qu'il y avait." est ambiguë, on ne sait pas si on rajoute +1 à la cellule ou à A1.
En PJ2, c'est pareil, mais on ajoute +1 à la cellule et non à A1. Avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A3:K3")) Is Nothing Then
Application.EnableEvents = False
[A1] = Target
Target = Target + 1
Application.EnableEvents = True
End If
Fin:
End Sub
et
Sub Copie()
If ActiveCell.Count > 1 Then Exit Sub
If ActiveCell.Row = 3 And ActiveCell.Column >= 3 And ActiveCell.Column <= 11 Then
[A1] = ActiveCell.Value
ActiveCell.Value = ActiveCell.Value + 1
End If
End Sub
Oui demande ambigue
ou à A1.
En PJ2, c'est pareil, mais on ajoute +1 à la cellule et non à A1. Avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A3:K3")) Is Nothing Then
Application.EnableEvents = False
[A1] = Target
Target = Target + 1
Application.EnableEvents = True
End If
Fin:
End Sub
et
Sub Copie()
If ActiveCell.Count > 1 Then Exit Sub
If ActiveCell.Row = 3 And ActiveCell.Column >= 3 And ActiveCell.Column <= 11 Then
[A1] = ActiveCell.Value
ActiveCell.Value = ActiveCell.Value + 1
End If
End Sub
Il suffit de supprimer le +1, ça copiera la valeur quelle qu'elle soit numérique ou alpha :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A3:K3")) Is Nothing Then
[A1] = Target
End If
Fin:
End Sub
ou mieux, copie la cellule et si celle ci est numérique on fait +1 sinon on ne fait rien. Avec :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A3:K3")) Is Nothing Then
[A1] = Target
If IsNumeric(Target) Then
Application.EnableEvents = False
Target = Target + 1
Application.EnableEvents = True
End If
End If
Fin:
End Sub