problème dans macro évènementielle

Jouxte

XLDnaute Occasionnel
Bonjour à toutes et tous,

J'utilise la macro évènementielle ci-dessous (dont tous les fragments sont récupérés ça et là sur ce forum dont je remercie les contributeurs).
Malheureusement, je n'ai pas réussi à faire pour que :

1) Lors de l'execution de la macro évènementielle en colonne B, la colonne A se copie également.
2) Lors de l'execution de la macro évènementielle en colonne P, le curseur se retrouve sur la ligne de la cellule qui a généré le tri.

Merci par avance pour l'aide que vous pourrez m'apporter.

Macro évènementielle dans la feuille Fichier Clients :

Dim témoin

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'Quand la cellule active de la colonne 2 est validée, copie de la ligne immédiatement au dessus
If Target.Column = 2 And Target.Count = 1 And Target.Row > 3 Then
ActiveSheet.Unprotect
If IsEmpty(Target.Offset(0, 1)) And Not IsEmpty(Target.Offset(-1, 0)) And témoin = False Then
témoin = True
sauv = Target
n = Target.Offset(-1, 0).CurrentRegion.Columns.Count
Target.Offset(-1, 0).Resize(1, n).Copy Target
On Error Resume Next
Target.Resize(1, n).SpecialCells(xlCellTypeConstants, 23).ClearContents
Target = sauv
témoin = False
ActiveSheet.Protect
End If
End If
'Met la cellule active de la colonne 3 en MAJUSCULE
If Target.Column = 3 And Target.Count = 1 Then
Target = UCase(Target)
End If
'Met la cellule active de la colonne 4 en Nom Propre
If Target.Column = 4 And Target.Count = 1 Then
Target = Application.Proper(Target)
End If
'Quand la cellule active de la colonne 16 (date de Naissance) validée = tri sur la cilonne A
If Target.Column = 16 Then
ActiveSheet.Unprotect
[A3:AC1000].Sort key1:=[A2]
ActiveSheet.Protect
End If
'place la cellule active au milieu de l'écran
If ActiveCell.Row > 12 Then
ActiveWindow.ScrollRow = ActiveCell.Row - 12
End If
Application.EnableEvents = True

End Sub

Ci-joint fichier.
 

Pièces jointes

  • Copie oxygène.zip
    35 KB · Affichages: 17

Jouxte

XLDnaute Occasionnel
Re : problème dans macro évènementielle

Dans l'exemple joint la formule en colonne A a sauté :
C'est pour A3 :
=MAJUSCULE(SUBSTITUE(C3;" ";""))&SI(TYPE(MAJUSCULE(GAUCHE(GAUCHE(D3;CHERCHE("-";D3;1));1))&MAJUSCULE(GAUCHE(DROITE(D3;NBCAR(D3)-CHERCHE("-";D3;1));1)))=16;MAJUSCULE(GAUCHE(D3;1));MAJUSCULE(GAUCHE(GAUCHE(D3;CHERCHE("-";D3;1));1))&MAJUSCULE(GAUCHE(DROITE(D3;NBCAR(D3)-CHERCHE("-";D3;1));1)))
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 584
Messages
2 089 991
Membres
104 330
dernier inscrit
joedal