Bonjour NIcolas65,
A ) Inhibe les lignes de code de la gestion d'erreur en mettant une apostrophe en début de ligne
B ) exécute ta procédure .. et observe où l'erreur se produit dans la troisième section ..
C ) Après avoir identifié la ligne de code problème, tu peux alors nous aider à t'aider en publiant où (la ligne) ça coince !
Salutations!
"nicolas65" a écrit dans le message de
news:
Bonjour,
J'ai essayé d'assembler 3 morceaux de code qui indépendamment fonctionne
bien mais ensemble pas.
Le premier morceau de code (merci au forum) me permet d'afficher la valeur
de la dernière valeur saisie dans une colonne.
Le deuxième morceau de code récupéré dans un programme me permet lorsque je
clique sur l'intitulé d'une colonne ligne 9 d'effectuer un tri
Le troisième morceau de code me permet de rechercher dans une base des
rensignements.
C'est là que ça "coince". Ce troisième moreceau lorsqu'on le teste sans les
autres fonctionne. Normalement lorsque je clique dans une cellule de la
colonne B à partir de la ligne 10 je fais apparaitre mon Userform avecs les
données. Là ça ne marche plus.
Quelqu'un aurait-il l'amabilité de regarder le code ci dessous?
Merci
Dim Rg As Variant
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Rg = Target.Value
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Rg = Target.Value
End If
'Clic Trie colonne début
Dim RangeEncours As String
On Error GoTo erreur:
'### permet de trier par colonne en cliquant sur une colonne
If Not Application.Intersect(Target, Range("A9:J9")) Is Nothing Then
RangeEncours = Target.Address
RangeEncours = CStr(Mid(RangeEncours, 2, 1)) +
CStr(Right(RangeEncours, 1))
ActiveSheet.Range(RangeEncours).Select
'## le trie
Selection.Sort Key1:=Range(RangeEncours), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
End If
erreur:
'### gestion des erreurs : l'erreur 1004 survenait quand l'user cliquait sur
toute la ligne ou prenait toute une colonne
If Err.Number = 0 Or Err.Number = 1004 Then
Exit Sub
End If
MsgBox ("Erreur N°" + CStr(Err.Number) + " : " + CStr(Err.Description))
'clic trie colonne fin
If Not Application.Intersect(Target, Range("B10:B" &
Range("B500").End(xlUp).Row)) Is Nothing Then
If ActiveCell = "" Then GoTo Out
TheHorse = "'" & CStr(ActiveCell.Text) & "'"
If InStr(2, TheHorse, Chr(39)) <> Len(TheHorse) Then
MsgBox "Apostrophe Interdite dans une requête SQL", vbCritical,
"Sorry !!! Thierry"
Exit Sub
End If
GetData
Application.OnTime Now + TimeValue("00:00:25"), "TheUSFCloser"
Else
Out:
On Error Resume Next
Unload UserForm1
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("D6") = Target
Else
If Rg <> "" Then
Range("D6") = ""
End If
End If
Application.EnableEvents = True
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("F6") = Target
Else
If Rg <> "" Then
Range("F6") = ""
End If
End If
Application.EnableEvents = True
End If
End Sub
Bonjour NIcolas65,
A ) Inhibe les lignes de code de la gestion d'erreur en mettant une apostrophe en début de ligne
B ) exécute ta procédure .. et observe où l'erreur se produit dans la troisième section ..
C ) Après avoir identifié la ligne de code problème, tu peux alors nous aider à t'aider en publiant où (la ligne) ça coince !
Salutations!
"nicolas65" <nicolas65@discussions.microsoft.com> a écrit dans le message de
news:6D83E998-E44A-47C0-8FB8-AECCDD5CB25E@microsoft.com...
Bonjour,
J'ai essayé d'assembler 3 morceaux de code qui indépendamment fonctionne
bien mais ensemble pas.
Le premier morceau de code (merci au forum) me permet d'afficher la valeur
de la dernière valeur saisie dans une colonne.
Le deuxième morceau de code récupéré dans un programme me permet lorsque je
clique sur l'intitulé d'une colonne ligne 9 d'effectuer un tri
Le troisième morceau de code me permet de rechercher dans une base des
rensignements.
C'est là que ça "coince". Ce troisième moreceau lorsqu'on le teste sans les
autres fonctionne. Normalement lorsque je clique dans une cellule de la
colonne B à partir de la ligne 10 je fais apparaitre mon Userform avecs les
données. Là ça ne marche plus.
Quelqu'un aurait-il l'amabilité de regarder le code ci dessous?
Merci
Dim Rg As Variant
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Rg = Target.Value
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Rg = Target.Value
End If
'Clic Trie colonne début
Dim RangeEncours As String
On Error GoTo erreur:
'### permet de trier par colonne en cliquant sur une colonne
If Not Application.Intersect(Target, Range("A9:J9")) Is Nothing Then
RangeEncours = Target.Address
RangeEncours = CStr(Mid(RangeEncours, 2, 1)) +
CStr(Right(RangeEncours, 1))
ActiveSheet.Range(RangeEncours).Select
'## le trie
Selection.Sort Key1:=Range(RangeEncours), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
End If
erreur:
'### gestion des erreurs : l'erreur 1004 survenait quand l'user cliquait sur
toute la ligne ou prenait toute une colonne
If Err.Number = 0 Or Err.Number = 1004 Then
Exit Sub
End If
MsgBox ("Erreur N°" + CStr(Err.Number) + " : " + CStr(Err.Description))
'clic trie colonne fin
If Not Application.Intersect(Target, Range("B10:B" &
Range("B500").End(xlUp).Row)) Is Nothing Then
If ActiveCell = "" Then GoTo Out
TheHorse = "'" & CStr(ActiveCell.Text) & "'"
If InStr(2, TheHorse, Chr(39)) <> Len(TheHorse) Then
MsgBox "Apostrophe Interdite dans une requête SQL", vbCritical,
"Sorry !!! Thierry"
Exit Sub
End If
GetData
Application.OnTime Now + TimeValue("00:00:25"), "TheUSFCloser"
Else
Out:
On Error Resume Next
Unload UserForm1
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("D6") = Target
Else
If Rg <> "" Then
Range("D6") = ""
End If
End If
Application.EnableEvents = True
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("F6") = Target
Else
If Rg <> "" Then
Range("F6") = ""
End If
End If
Application.EnableEvents = True
End If
End Sub
Bonjour NIcolas65,
A ) Inhibe les lignes de code de la gestion d'erreur en mettant une apostrophe en début de ligne
B ) exécute ta procédure .. et observe où l'erreur se produit dans la troisième section ..
C ) Après avoir identifié la ligne de code problème, tu peux alors nous aider à t'aider en publiant où (la ligne) ça coince !
Salutations!
"nicolas65" a écrit dans le message de
news:
Bonjour,
J'ai essayé d'assembler 3 morceaux de code qui indépendamment fonctionne
bien mais ensemble pas.
Le premier morceau de code (merci au forum) me permet d'afficher la valeur
de la dernière valeur saisie dans une colonne.
Le deuxième morceau de code récupéré dans un programme me permet lorsque je
clique sur l'intitulé d'une colonne ligne 9 d'effectuer un tri
Le troisième morceau de code me permet de rechercher dans une base des
rensignements.
C'est là que ça "coince". Ce troisième moreceau lorsqu'on le teste sans les
autres fonctionne. Normalement lorsque je clique dans une cellule de la
colonne B à partir de la ligne 10 je fais apparaitre mon Userform avecs les
données. Là ça ne marche plus.
Quelqu'un aurait-il l'amabilité de regarder le code ci dessous?
Merci
Dim Rg As Variant
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Rg = Target.Value
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Rg = Target.Value
End If
'Clic Trie colonne début
Dim RangeEncours As String
On Error GoTo erreur:
'### permet de trier par colonne en cliquant sur une colonne
If Not Application.Intersect(Target, Range("A9:J9")) Is Nothing Then
RangeEncours = Target.Address
RangeEncours = CStr(Mid(RangeEncours, 2, 1)) +
CStr(Right(RangeEncours, 1))
ActiveSheet.Range(RangeEncours).Select
'## le trie
Selection.Sort Key1:=Range(RangeEncours), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
End If
erreur:
'### gestion des erreurs : l'erreur 1004 survenait quand l'user cliquait sur
toute la ligne ou prenait toute une colonne
If Err.Number = 0 Or Err.Number = 1004 Then
Exit Sub
End If
MsgBox ("Erreur N°" + CStr(Err.Number) + " : " + CStr(Err.Description))
'clic trie colonne fin
If Not Application.Intersect(Target, Range("B10:B" &
Range("B500").End(xlUp).Row)) Is Nothing Then
If ActiveCell = "" Then GoTo Out
TheHorse = "'" & CStr(ActiveCell.Text) & "'"
If InStr(2, TheHorse, Chr(39)) <> Len(TheHorse) Then
MsgBox "Apostrophe Interdite dans une requête SQL", vbCritical,
"Sorry !!! Thierry"
Exit Sub
End If
GetData
Application.OnTime Now + TimeValue("00:00:25"), "TheUSFCloser"
Else
Out:
On Error Resume Next
Unload UserForm1
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("D6") = Target
Else
If Rg <> "" Then
Range("D6") = ""
End If
End If
Application.EnableEvents = True
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("F6") = Target
Else
If Rg <> "" Then
Range("F6") = ""
End If
End If
Application.EnableEvents = True
End If
End Sub
Bonjour NIcolas65,
A ) Inhibe les lignes de code de la gestion d'erreur en mettant une apostrophe en début de ligne
B ) exécute ta procédure .. et observe où l'erreur se produit dans la troisième section ..
C ) Après avoir identifié la ligne de code problème, tu peux alors nous aider à t'aider en publiant où (la ligne) ça coince
!
Salutations!
"nicolas65" a écrit dans le message de
news:
Bonjour,
J'ai essayé d'assembler 3 morceaux de code qui indépendamment fonctionne
bien mais ensemble pas.
Le premier morceau de code (merci au forum) me permet d'afficher la valeur
de la dernière valeur saisie dans une colonne.
Le deuxième morceau de code récupéré dans un programme me permet lorsque je
clique sur l'intitulé d'une colonne ligne 9 d'effectuer un tri
Le troisième morceau de code me permet de rechercher dans une base des
rensignements.
C'est là que ça "coince". Ce troisième moreceau lorsqu'on le teste sans les
autres fonctionne. Normalement lorsque je clique dans une cellule de la
colonne B à partir de la ligne 10 je fais apparaitre mon Userform avecs les
données. Là ça ne marche plus.
Quelqu'un aurait-il l'amabilité de regarder le code ci dessous?
Merci
Dim Rg As Variant
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Rg = Target.Value
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Rg = Target.Value
End If
'Clic Trie colonne début
Dim RangeEncours As String
On Error GoTo erreur:
'### permet de trier par colonne en cliquant sur une colonne
If Not Application.Intersect(Target, Range("A9:J9")) Is Nothing Then
RangeEncours = Target.Address
RangeEncours = CStr(Mid(RangeEncours, 2, 1)) +
CStr(Right(RangeEncours, 1))
ActiveSheet.Range(RangeEncours).Select
'## le trie
Selection.Sort Key1:=Range(RangeEncours), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
End If
erreur:
'### gestion des erreurs : l'erreur 1004 survenait quand l'user cliquait sur
toute la ligne ou prenait toute une colonne
If Err.Number = 0 Or Err.Number = 1004 Then
Exit Sub
End If
MsgBox ("Erreur N°" + CStr(Err.Number) + " : " + CStr(Err.Description))
'clic trie colonne fin
If Not Application.Intersect(Target, Range("B10:B" &
Range("B500").End(xlUp).Row)) Is Nothing Then
If ActiveCell = "" Then GoTo Out
TheHorse = "'" & CStr(ActiveCell.Text) & "'"
If InStr(2, TheHorse, Chr(39)) <> Len(TheHorse) Then
MsgBox "Apostrophe Interdite dans une requête SQL", vbCritical,
"Sorry !!! Thierry"
Exit Sub
End If
GetData
Application.OnTime Now + TimeValue("00:00:25"), "TheUSFCloser"
Else
Out:
On Error Resume Next
Unload UserForm1
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("D6") = Target
Else
If Rg <> "" Then
Range("D6") = ""
End If
End If
Application.EnableEvents = True
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("F6") = Target
Else
If Rg <> "" Then
Range("F6") = ""
End If
End If
Application.EnableEvents = True
End If
End Sub
Bonjour NIcolas65,
A ) Inhibe les lignes de code de la gestion d'erreur en mettant une apostrophe en début de ligne
B ) exécute ta procédure .. et observe où l'erreur se produit dans la troisième section ..
C ) Après avoir identifié la ligne de code problème, tu peux alors nous aider à t'aider en publiant où (la ligne) ça coince
!
Salutations!
"nicolas65" <nicolas65@discussions.microsoft.com> a écrit dans le message de
news:6D83E998-E44A-47C0-8FB8-AECCDD5CB25E@microsoft.com...
Bonjour,
J'ai essayé d'assembler 3 morceaux de code qui indépendamment fonctionne
bien mais ensemble pas.
Le premier morceau de code (merci au forum) me permet d'afficher la valeur
de la dernière valeur saisie dans une colonne.
Le deuxième morceau de code récupéré dans un programme me permet lorsque je
clique sur l'intitulé d'une colonne ligne 9 d'effectuer un tri
Le troisième morceau de code me permet de rechercher dans une base des
rensignements.
C'est là que ça "coince". Ce troisième moreceau lorsqu'on le teste sans les
autres fonctionne. Normalement lorsque je clique dans une cellule de la
colonne B à partir de la ligne 10 je fais apparaitre mon Userform avecs les
données. Là ça ne marche plus.
Quelqu'un aurait-il l'amabilité de regarder le code ci dessous?
Merci
Dim Rg As Variant
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Rg = Target.Value
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Rg = Target.Value
End If
'Clic Trie colonne début
Dim RangeEncours As String
On Error GoTo erreur:
'### permet de trier par colonne en cliquant sur une colonne
If Not Application.Intersect(Target, Range("A9:J9")) Is Nothing Then
RangeEncours = Target.Address
RangeEncours = CStr(Mid(RangeEncours, 2, 1)) +
CStr(Right(RangeEncours, 1))
ActiveSheet.Range(RangeEncours).Select
'## le trie
Selection.Sort Key1:=Range(RangeEncours), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
End If
erreur:
'### gestion des erreurs : l'erreur 1004 survenait quand l'user cliquait sur
toute la ligne ou prenait toute une colonne
If Err.Number = 0 Or Err.Number = 1004 Then
Exit Sub
End If
MsgBox ("Erreur N°" + CStr(Err.Number) + " : " + CStr(Err.Description))
'clic trie colonne fin
If Not Application.Intersect(Target, Range("B10:B" &
Range("B500").End(xlUp).Row)) Is Nothing Then
If ActiveCell = "" Then GoTo Out
TheHorse = "'" & CStr(ActiveCell.Text) & "'"
If InStr(2, TheHorse, Chr(39)) <> Len(TheHorse) Then
MsgBox "Apostrophe Interdite dans une requête SQL", vbCritical,
"Sorry !!! Thierry"
Exit Sub
End If
GetData
Application.OnTime Now + TimeValue("00:00:25"), "TheUSFCloser"
Else
Out:
On Error Resume Next
Unload UserForm1
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("D6") = Target
Else
If Rg <> "" Then
Range("D6") = ""
End If
End If
Application.EnableEvents = True
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("F6") = Target
Else
If Rg <> "" Then
Range("F6") = ""
End If
End If
Application.EnableEvents = True
End If
End Sub
Bonjour NIcolas65,
A ) Inhibe les lignes de code de la gestion d'erreur en mettant une apostrophe en début de ligne
B ) exécute ta procédure .. et observe où l'erreur se produit dans la troisième section ..
C ) Après avoir identifié la ligne de code problème, tu peux alors nous aider à t'aider en publiant où (la ligne) ça coince
!
Salutations!
"nicolas65" a écrit dans le message de
news:
Bonjour,
J'ai essayé d'assembler 3 morceaux de code qui indépendamment fonctionne
bien mais ensemble pas.
Le premier morceau de code (merci au forum) me permet d'afficher la valeur
de la dernière valeur saisie dans une colonne.
Le deuxième morceau de code récupéré dans un programme me permet lorsque je
clique sur l'intitulé d'une colonne ligne 9 d'effectuer un tri
Le troisième morceau de code me permet de rechercher dans une base des
rensignements.
C'est là que ça "coince". Ce troisième moreceau lorsqu'on le teste sans les
autres fonctionne. Normalement lorsque je clique dans une cellule de la
colonne B à partir de la ligne 10 je fais apparaitre mon Userform avecs les
données. Là ça ne marche plus.
Quelqu'un aurait-il l'amabilité de regarder le code ci dessous?
Merci
Dim Rg As Variant
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Rg = Target.Value
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Rg = Target.Value
End If
'Clic Trie colonne début
Dim RangeEncours As String
On Error GoTo erreur:
'### permet de trier par colonne en cliquant sur une colonne
If Not Application.Intersect(Target, Range("A9:J9")) Is Nothing Then
RangeEncours = Target.Address
RangeEncours = CStr(Mid(RangeEncours, 2, 1)) +
CStr(Right(RangeEncours, 1))
ActiveSheet.Range(RangeEncours).Select
'## le trie
Selection.Sort Key1:=Range(RangeEncours), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
End If
erreur:
'### gestion des erreurs : l'erreur 1004 survenait quand l'user cliquait sur
toute la ligne ou prenait toute une colonne
If Err.Number = 0 Or Err.Number = 1004 Then
Exit Sub
End If
MsgBox ("Erreur N°" + CStr(Err.Number) + " : " + CStr(Err.Description))
'clic trie colonne fin
If Not Application.Intersect(Target, Range("B10:B" &
Range("B500").End(xlUp).Row)) Is Nothing Then
If ActiveCell = "" Then GoTo Out
TheHorse = "'" & CStr(ActiveCell.Text) & "'"
If InStr(2, TheHorse, Chr(39)) <> Len(TheHorse) Then
MsgBox "Apostrophe Interdite dans une requête SQL", vbCritical,
"Sorry !!! Thierry"
Exit Sub
End If
GetData
Application.OnTime Now + TimeValue("00:00:25"), "TheUSFCloser"
Else
Out:
On Error Resume Next
Unload UserForm1
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("D6") = Target
Else
If Rg <> "" Then
Range("D6") = ""
End If
End If
Application.EnableEvents = True
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("F6") = Target
Else
If Rg <> "" Then
Range("F6") = ""
End If
End If
Application.EnableEvents = True
End If
End Sub
Bonjour Nicolas,
Si tu veux inclure une gestion d'erreur, je crois qu'une serait suffisante. Non ?
Et attention aux lignes de commandes dans ton code où tu as inscris un truc du genre : Exit sub ... C'est très difficile pour
la procédure de se rendre jusqu'au bout de l'exécution de la procédure !!!
;-))
Salutations!
"nicolas65" a écrit dans le message de
news:
J'ai mis des apostrophes devant la gestion d'erreur et celà fonctionne à
nouveau.
Je n'avais pas à proprement parler de message d'erreur. Le problème était en
fait que le troisième morceau ne s'exécutait pas.
Est ce que je supprime ces lignes? En cas de bug est ce que celà ne risque
pasde "planter" complètement le programme?
MerciBonjour NIcolas65,
A ) Inhibe les lignes de code de la gestion d'erreur en mettant une apostrophe en début de ligne
B ) exécute ta procédure .. et observe où l'erreur se produit dans la troisième section ..
C ) Après avoir identifié la ligne de code problème, tu peux alors nous aider à t'aider en publiant où (la ligne) ça coince
!
Salutations!
"nicolas65" a écrit dans le message de
news:
Bonjour,
J'ai essayé d'assembler 3 morceaux de code qui indépendamment fonctionne
bien mais ensemble pas.
Le premier morceau de code (merci au forum) me permet d'afficher la valeur
de la dernière valeur saisie dans une colonne.
Le deuxième morceau de code récupéré dans un programme me permet lorsque je
clique sur l'intitulé d'une colonne ligne 9 d'effectuer un tri
Le troisième morceau de code me permet de rechercher dans une base des
rensignements.
C'est là que ça "coince". Ce troisième moreceau lorsqu'on le teste sans les
autres fonctionne. Normalement lorsque je clique dans une cellule de la
colonne B à partir de la ligne 10 je fais apparaitre mon Userform avecs les
données. Là ça ne marche plus.
Quelqu'un aurait-il l'amabilité de regarder le code ci dessous?
Merci
Dim Rg As Variant
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Rg = Target.Value
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Rg = Target.Value
End If
'Clic Trie colonne début
Dim RangeEncours As String
On Error GoTo erreur:
'### permet de trier par colonne en cliquant sur une colonne
If Not Application.Intersect(Target, Range("A9:J9")) Is Nothing Then
RangeEncours = Target.Address
RangeEncours = CStr(Mid(RangeEncours, 2, 1)) +
CStr(Right(RangeEncours, 1))
ActiveSheet.Range(RangeEncours).Select
'## le trie
Selection.Sort Key1:=Range(RangeEncours), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
End If
erreur:
'### gestion des erreurs : l'erreur 1004 survenait quand l'user cliquait sur
toute la ligne ou prenait toute une colonne
If Err.Number = 0 Or Err.Number = 1004 Then
Exit Sub
End If
MsgBox ("Erreur N°" + CStr(Err.Number) + " : " + CStr(Err.Description))
'clic trie colonne fin
If Not Application.Intersect(Target, Range("B10:B" &
Range("B500").End(xlUp).Row)) Is Nothing Then
If ActiveCell = "" Then GoTo Out
TheHorse = "'" & CStr(ActiveCell.Text) & "'"
If InStr(2, TheHorse, Chr(39)) <> Len(TheHorse) Then
MsgBox "Apostrophe Interdite dans une requête SQL", vbCritical,
"Sorry !!! Thierry"
Exit Sub
End If
GetData
Application.OnTime Now + TimeValue("00:00:25"), "TheUSFCloser"
Else
Out:
On Error Resume Next
Unload UserForm1
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("D6") = Target
Else
If Rg <> "" Then
Range("D6") = ""
End If
End If
Application.EnableEvents = True
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("F6") = Target
Else
If Rg <> "" Then
Range("F6") = ""
End If
End If
Application.EnableEvents = True
End If
End Sub
Bonjour Nicolas,
Si tu veux inclure une gestion d'erreur, je crois qu'une serait suffisante. Non ?
Et attention aux lignes de commandes dans ton code où tu as inscris un truc du genre : Exit sub ... C'est très difficile pour
la procédure de se rendre jusqu'au bout de l'exécution de la procédure !!!
;-))
Salutations!
"nicolas65" <nicolas65@discussions.microsoft.com> a écrit dans le message de
news:4FD866B6-8849-44DA-A3E3-1C3D81936A6C@microsoft.com...
J'ai mis des apostrophes devant la gestion d'erreur et celà fonctionne à
nouveau.
Je n'avais pas à proprement parler de message d'erreur. Le problème était en
fait que le troisième morceau ne s'exécutait pas.
Est ce que je supprime ces lignes? En cas de bug est ce que celà ne risque
pasde "planter" complètement le programme?
Merci
Bonjour NIcolas65,
A ) Inhibe les lignes de code de la gestion d'erreur en mettant une apostrophe en début de ligne
B ) exécute ta procédure .. et observe où l'erreur se produit dans la troisième section ..
C ) Après avoir identifié la ligne de code problème, tu peux alors nous aider à t'aider en publiant où (la ligne) ça coince
!
Salutations!
"nicolas65" <nicolas65@discussions.microsoft.com> a écrit dans le message de
news:6D83E998-E44A-47C0-8FB8-AECCDD5CB25E@microsoft.com...
Bonjour,
J'ai essayé d'assembler 3 morceaux de code qui indépendamment fonctionne
bien mais ensemble pas.
Le premier morceau de code (merci au forum) me permet d'afficher la valeur
de la dernière valeur saisie dans une colonne.
Le deuxième morceau de code récupéré dans un programme me permet lorsque je
clique sur l'intitulé d'une colonne ligne 9 d'effectuer un tri
Le troisième morceau de code me permet de rechercher dans une base des
rensignements.
C'est là que ça "coince". Ce troisième moreceau lorsqu'on le teste sans les
autres fonctionne. Normalement lorsque je clique dans une cellule de la
colonne B à partir de la ligne 10 je fais apparaitre mon Userform avecs les
données. Là ça ne marche plus.
Quelqu'un aurait-il l'amabilité de regarder le code ci dessous?
Merci
Dim Rg As Variant
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Rg = Target.Value
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Rg = Target.Value
End If
'Clic Trie colonne début
Dim RangeEncours As String
On Error GoTo erreur:
'### permet de trier par colonne en cliquant sur une colonne
If Not Application.Intersect(Target, Range("A9:J9")) Is Nothing Then
RangeEncours = Target.Address
RangeEncours = CStr(Mid(RangeEncours, 2, 1)) +
CStr(Right(RangeEncours, 1))
ActiveSheet.Range(RangeEncours).Select
'## le trie
Selection.Sort Key1:=Range(RangeEncours), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
End If
erreur:
'### gestion des erreurs : l'erreur 1004 survenait quand l'user cliquait sur
toute la ligne ou prenait toute une colonne
If Err.Number = 0 Or Err.Number = 1004 Then
Exit Sub
End If
MsgBox ("Erreur N°" + CStr(Err.Number) + " : " + CStr(Err.Description))
'clic trie colonne fin
If Not Application.Intersect(Target, Range("B10:B" &
Range("B500").End(xlUp).Row)) Is Nothing Then
If ActiveCell = "" Then GoTo Out
TheHorse = "'" & CStr(ActiveCell.Text) & "'"
If InStr(2, TheHorse, Chr(39)) <> Len(TheHorse) Then
MsgBox "Apostrophe Interdite dans une requête SQL", vbCritical,
"Sorry !!! Thierry"
Exit Sub
End If
GetData
Application.OnTime Now + TimeValue("00:00:25"), "TheUSFCloser"
Else
Out:
On Error Resume Next
Unload UserForm1
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("D6") = Target
Else
If Rg <> "" Then
Range("D6") = ""
End If
End If
Application.EnableEvents = True
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("F6") = Target
Else
If Rg <> "" Then
Range("F6") = ""
End If
End If
Application.EnableEvents = True
End If
End Sub
Bonjour Nicolas,
Si tu veux inclure une gestion d'erreur, je crois qu'une serait suffisante. Non ?
Et attention aux lignes de commandes dans ton code où tu as inscris un truc du genre : Exit sub ... C'est très difficile pour
la procédure de se rendre jusqu'au bout de l'exécution de la procédure !!!
;-))
Salutations!
"nicolas65" a écrit dans le message de
news:
J'ai mis des apostrophes devant la gestion d'erreur et celà fonctionne à
nouveau.
Je n'avais pas à proprement parler de message d'erreur. Le problème était en
fait que le troisième morceau ne s'exécutait pas.
Est ce que je supprime ces lignes? En cas de bug est ce que celà ne risque
pasde "planter" complètement le programme?
MerciBonjour NIcolas65,
A ) Inhibe les lignes de code de la gestion d'erreur en mettant une apostrophe en début de ligne
B ) exécute ta procédure .. et observe où l'erreur se produit dans la troisième section ..
C ) Après avoir identifié la ligne de code problème, tu peux alors nous aider à t'aider en publiant où (la ligne) ça coince
!
Salutations!
"nicolas65" a écrit dans le message de
news:
Bonjour,
J'ai essayé d'assembler 3 morceaux de code qui indépendamment fonctionne
bien mais ensemble pas.
Le premier morceau de code (merci au forum) me permet d'afficher la valeur
de la dernière valeur saisie dans une colonne.
Le deuxième morceau de code récupéré dans un programme me permet lorsque je
clique sur l'intitulé d'une colonne ligne 9 d'effectuer un tri
Le troisième morceau de code me permet de rechercher dans une base des
rensignements.
C'est là que ça "coince". Ce troisième moreceau lorsqu'on le teste sans les
autres fonctionne. Normalement lorsque je clique dans une cellule de la
colonne B à partir de la ligne 10 je fais apparaitre mon Userform avecs les
données. Là ça ne marche plus.
Quelqu'un aurait-il l'amabilité de regarder le code ci dessous?
Merci
Dim Rg As Variant
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Rg = Target.Value
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Rg = Target.Value
End If
'Clic Trie colonne début
Dim RangeEncours As String
On Error GoTo erreur:
'### permet de trier par colonne en cliquant sur une colonne
If Not Application.Intersect(Target, Range("A9:J9")) Is Nothing Then
RangeEncours = Target.Address
RangeEncours = CStr(Mid(RangeEncours, 2, 1)) +
CStr(Right(RangeEncours, 1))
ActiveSheet.Range(RangeEncours).Select
'## le trie
Selection.Sort Key1:=Range(RangeEncours), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
End If
erreur:
'### gestion des erreurs : l'erreur 1004 survenait quand l'user cliquait sur
toute la ligne ou prenait toute une colonne
If Err.Number = 0 Or Err.Number = 1004 Then
Exit Sub
End If
MsgBox ("Erreur N°" + CStr(Err.Number) + " : " + CStr(Err.Description))
'clic trie colonne fin
If Not Application.Intersect(Target, Range("B10:B" &
Range("B500").End(xlUp).Row)) Is Nothing Then
If ActiveCell = "" Then GoTo Out
TheHorse = "'" & CStr(ActiveCell.Text) & "'"
If InStr(2, TheHorse, Chr(39)) <> Len(TheHorse) Then
MsgBox "Apostrophe Interdite dans une requête SQL", vbCritical,
"Sorry !!! Thierry"
Exit Sub
End If
GetData
Application.OnTime Now + TimeValue("00:00:25"), "TheUSFCloser"
Else
Out:
On Error Resume Next
Unload UserForm1
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(5)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("D6") = Target
Else
If Rg <> "" Then
Range("D6") = ""
End If
End If
Application.EnableEvents = True
End If
If Not Intersect(Target, Columns(7)) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then
Range("F6") = Target
Else
If Rg <> "" Then
Range("F6") = ""
End If
End If
Application.EnableEvents = True
End If
End Sub