GADENSEB
XLDnaute Impliqué
Bonjour le Forum,
Je cherche à optimiser mon code dans l'onglet "Gestion"
J'utilise la fonction ....If Target.Address(0, 0) = "A5" Then.....
Pour plusieurs cellules, mais j'ai mal construit mon code..
Le code balaye toutes les "if.target" dans la feuille avant de déclencher l'action de la cellule concernée
On m'a parlé de "CASE" mais je ne sais pas comment l'utiliser pour optimiser mon code !!
QQn à une idée ?
Bonne aprem
Seb
Je cherche à optimiser mon code dans l'onglet "Gestion"
J'utilise la fonction ....If Target.Address(0, 0) = "A5" Then.....
Pour plusieurs cellules, mais j'ai mal construit mon code..
Le code balaye toutes les "if.target" dans la feuille avant de déclencher l'action de la cellule concernée
On m'a parlé de "CASE" mais je ne sais pas comment l'utiliser pour optimiser mon code !!
QQn à une idée ?
Bonne aprem
Seb
Code:
Dim i, j As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
'Génére le filtre élaboré d'analyse des données
Sheets("BASE EMPLOI").[A1:BB1000].AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Range("A32:D33"), _
CopyToRange:=Range("A35:i35"), _
Unique:=False
Application.ScreenUpdating = False
On Error Resume Next
Sheets("BASE EMPLOI").Select
Range("A1:BB1").Select
Range("BB1").Activate
Selection.AutoFilter
Sheets("GESTION").Select
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'================================== GENERAL FEUILLE GESTION =================================
'TOUT DEPLIER
If Target.Address(0, 0) = "A5" Then
Excel.Application.Visible = False
Range("STATISTIQUES,RELANCES,ZONE3,ZONE4").Select
Selection.EntireRow.Hidden = False
Range("A7").Select
Excel.Application.Visible = True
End If
'TOUT REPLIER
If Target.Address(0, 0) = "B5" Then
Excel.Application.Visible = False
Range("STATISTIQUES,RELANCES,ZONE3,ZONE4").Select
Selection.EntireRow.Hidden = True
Range("A7").Select
Excel.Application.Visible = True
End If
'================================== LANCE L'USF DE SAISIE ==================================
If Target.Address(0, 0) = "C5" Then
'Pour afficher l'userform BASEEMPLOI
BASEEMPLOI.Show
End If
If Target.Address(0, 0) = "G6" Then
'Pour afficher l'userform GENERAL
GENERAL.Show
End If
'================================== LANCE L'USF AGENDA GOOGLE ==================================
If Target.Address(0, 0) = "G5" Then 'bouton de commande sur la feuille1
Worksheets("BASE EMPLOI").Select
End If
'================================== FORMULES =================================
Range("C13").Formula = "=A1*A2"
Range(Cells(26, 3), Cells(26, 7)).Formula = _
"=SUM(" & Cells(13, 3).Address(False, False) & ":" & Cells(25, 3).Address(False, False) & ")"
'================================== STATISTIQUES =========================================
'OUVRE LA PARTIE STATISTIQUES ET FERME LES AUTRES PARTIES
If Target.Address(0, 0) = "D5" Then
Excel.Application.Visible = False
Range("STATISTIQUES,RELANCES").Select
Selection.EntireRow.Hidden = False
Range("RELANCES").Select
Selection.EntireRow.Hidden = True
Range("A7").Select
Excel.Application.Visible = True
Range("A11").Select
End If
'OUVRE LA PARTIE STATISTIQUES
If Target.Address(0, 0) = "D6" Then
Excel.Application.Visible = False
Range("STATISTIQUES").Select
Selection.EntireRow.Hidden = False
Range("A7").Select
Excel.Application.Visible = True
Range("A11").Select
End If
'FERME LA PARTIE STATISTIQUES
If Target.Address(0, 0) = "D7" Then
Excel.Application.Visible = False
Range("STATISTIQUES").Select
Selection.EntireRow.Hidden = True
Range("A7").Select
Excel.Application.Visible = True
End If
'================================== RELANCES ==================================
'OUVRE LA PARTIE RELANCES ET FERME LES AUTRES PARTIES
If Target.Address(0, 0) = "E5" Then
Excel.Application.Visible = False
Range("STATISTIQUES,RELANCES").Select
Selection.EntireRow.Hidden = False
Range("STATISTIQUES").Select
Selection.EntireRow.Hidden = True
Range("A7").Select
Excel.Application.Visible = True
End If
'OUVRE LA PARTIE RELANCES
If Target.Address(0, 0) = "E6" Then
Excel.Application.Visible = False
Range("RELANCES").Select
Selection.EntireRow.Hidden = False
Range("A32").Select
Excel.Application.Visible = True
End If
'FERME LA PARTIE RELANCES
If Target.Address(0, 0) = "E7" Then
Excel.Application.Visible = False
Range("RELANCES").Select
Selection.EntireRow.Hidden = True
Range("A32").Select
Excel.Application.Visible = True
End If
'================================== OUVERTURE GESTION POSTE =================================
'Génére l'userform POSTE en cliquant sur le CODE
On Error Resume Next
' Function link(c As Range)
Dim j&
j = Range("I36").End(xlDown).Row
If Target.Row <= j And Target.Row >= 36 Then
nNumeroDeLigne = Application.WorksheetFunction.Match(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:a1000"), 0)
GESTIONPOSTE.CODEBASE = Cells(Target.Row, "I").Value
GESTIONPOSTE.USER = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 2, False)
GESTIONPOSTE.NOMSOCIETE = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 3, False)
GESTIONPOSTE.ZONE = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 4, False)
GESTIONPOSTE.TYPESOCIETE = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 5, False)
GESTIONPOSTE.NOMCONTACT = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 7, False)
GESTIONPOSTE.PRENOMCONTACT = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 8, False)
GESTIONPOSTE.FONCTIONCONTACT = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 9, False)
GESTIONPOSTE.TELEPHONECONTACT = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 10, False)
GESTIONPOSTE.PORTABLECONTACT = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 11, False)
GESTIONPOSTE.MAILCONTACT = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 12, False)
GESTIONPOSTE.ADRESSESCOCIETE = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 14, False)
GESTIONPOSTE.CPSOCIETE = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 16, False)
GESTIONPOSTE.VILLESOCIETE = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 17, False)
GESTIONPOSTE.SITESOCIETE = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 18, False)
GESTIONPOSTE.DATEINSCRIPTION = Worksheets("BASE EMPLOI").Cells(nNumeroDeLigne, 20)
GESTIONPOSTE.DATEMAJ = Worksheets("BASE EMPLOI").Cells(nNumeroDeLigne, 21)
GESTIONPOSTE.DATEANNONCE = Worksheets("BASE EMPLOI").Cells(nNumeroDeLigne, 36)
GESTIONPOSTE.DATEREPONSE = Worksheets("BASE EMPLOI").Cells(nNumeroDeLigne, 37)
GESTIONPOSTE.RELANCE = Worksheets("BASE EMPLOI").Cells(nNumeroDeLigne, 38)
GESTIONPOSTE.DATERETOUR = Worksheets("BASE EMPLOI").Cells(nNumeroDeLigne, 39)
GESTIONPOSTE.LOGIN = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 22, False)
GESTIONPOSTE.MDP = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 23, False)
GESTIONPOSTE.ANNONCESBYMAIL = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 24, False)
GESTIONPOSTE.COMMENTAIRES = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 25, False)
GESTIONPOSTE.POSTE = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 32, False)
GESTIONPOSTE.CONTRAT = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 33, False)
GESTIONPOSTE.LIEU = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 34, False)
GESTIONPOSTE.REMUNERATION = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 35, False)
GESTIONPOSTE.TEXTECANDIDATURE = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 40, False)
GESTIONPOSTE.ANNONCE = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 40, False)
GESTIONPOSTE.COMMENTAIRESCANDIDATURE = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 41, False)
GESTIONPOSTE.NBENTRETIENS = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 46, False)
GESTIONPOSTE.CRENTRETIENS = Application.VLookup(Cells(Target.Row, "I").Value, Worksheets("BASE EMPLOI").Range("A1:BB1000"), 52, False)
GESTIONPOSTE.Show
End If
End Sub