Combiner une procédure

abc

XLDnaute Impliqué
Bonsoir,
comment puis je combiner les deux procédure ci joint ?
Private Sub Worksheet_Change(ByVal Target As Range)
Private Sub Worksheet_Change(ByVal cellule As Excel.Range)

Ex:private Sub Worksheet_Change(ByVal Target As Range,ByVal cellule As Excel.Range)
Suis je juste ?
Merci d'avance
A +
 

abc

XLDnaute Impliqué
Re : Combiner une procédure

Bonsoir,
J'ai deux procédure dans deux fichier différents que j'aimerais combiner.
La première fait un trie alpa.
La deuxième vérifie si j'y suis déja inscrit où doublons avec un message via un MSGbox qui m'averti si doublon.
J'ai essayé de jumeller les deux procédure,mais sans succès.
Donc je cherche toujours.
merci d'avance pour l'aide
A +
 

abc

XLDnaute Impliqué
Re : Combiner une procédure

Bonsoir,
n'ayant pas eu de solution,je me permet de relancer la discusion.
En résumé,j'ai deux procédure que j'aimerais combiner.
La première me fait un trie alpha.
La deuxième me verifie si je suis déja inscrit ou doublon.
Je joint le code VBA qui ne fonctionne pas.
Private Sub Worksheet_Change(ByVal Target As Range, cellule As Excel.Range)
If Target.Column = 8 Then
[H2:H300].Sort key1:=[H2]
End If
If Target.Column = 9 Then
[I2:I300].Sort key1:=[I2]
End If
If Target.Column = 5 Then
[e2:e300].Sort key1:=[e2]
End If
If cellule.Column = 8 Then
If Application.WorksheetFunction. _
CountIf(Range("H:H"), cellule.Value) > 1 Then
MsgBox "Hola ! Mais t'es fou , j'y suis déja "
cellule.Value = ""
cellule.Select
End If
End If
End Sub
Je pense que le problème est au niveau de la procédure
Merci d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : Combiner une procédure

Bonsoir Abc, Michel:), Skoobi:)

pas sur d'avoir tout compris, essaye peut être comme ceci :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 8 Then
    [H2:H300].Sort key1:=[H2]
    If WorksheetFunction.CountIf(Range("H:H"), Target.Value) > 1 Then
        MsgBox "Hola ! Mais t'es fou , j'y suis déja "
        Target.Value = ""
    End If
End If
If Target.Column = 9 Then
    [I2:I300].Sort key1:=[I2]
End If
If Target.Column = 5 Then
    [e2:e300].Sort key1:=[e2]
End If
Application.EnableEvents = True
End Sub

bonne soirée
@+
 

abc

XLDnaute Impliqué
Re : Combiner une procédure

Bonsoir,
merci de me répondre,le trie alpa fonctionne mais le trie ou doublon ne fonctionne pas.
Peux être avec une variable supplémentaire.
Pour rappel est-il possible de combiner les deux procédures
Private Sub Worksheet_Change(ByVal Target As Range)
Private Sub Worksheet_Change(ByVal cellule As Excel.Range)

Ex:private Sub Worksheet_Change(ByVal Target As Range,ByVal cellule As Excel.Range)
Merci d'avance
A +
 

Pierrot93

XLDnaute Barbatruc
Re : Combiner une procédure

Bonjour abc

comprends pas, je n'ai modifié ton code que dans le but de répondre à ta question, afin de combiner "deux procédures en une". Déjà est ce que cela fonctionne comme tu le veux ?

quand tu dis :

le trie alpa fonctionne mais le trie ou doublon ne fonctionne pas.

vois pas de quoi tu veux parler !!! et je n'ais fait que reprendre ton code pour les tris. il faudrait sans doute un fichier pour pouvoir t'en dire plus, enfin pour moi...

bonne journée
@+
 

abc

XLDnaute Impliqué
Re : Combiner une procédure

Bonjour,
merci à Pierrot93 de me répondre,
j'ai essayé ton code.
Il fait bien le tri alpa mais il ne tient pas compte des doublons.
Il le fait uniquement si le dernier inscrit est le même que l'avant dernier.
Il ne tient pas compte des autres.
Je joint le fichier,
en feuille1 le trie alpha
en feuille2 les doublons
en feuille3 ton code
En résumé ,j'aimerais combiner sur la même feuille le code de la feuille1 et de la feuille2.
Merci d'avance
A +
 

Pièces jointes

  • classeur11.zip
    8.8 KB · Affichages: 28
  • classeur11.zip
    8.8 KB · Affichages: 19
  • classeur11.zip
    8.8 KB · Affichages: 30

Pierrot93

XLDnaute Barbatruc
Re : Combiner une procédure

Bonsoir abc

je ne vois rien dans ton code concernant les doublons, quelque chose doit certainement m'échapper.

D'autre part suit pas trop sur de ta methode de tri, aucun n'argument n'est valorisé.

bonne soirée
@+
 

abc

XLDnaute Impliqué
Re : Combiner une procédure

Bonsoir,
D'abord merci de ta patience.
Je vais essayé d'être clair
Lorsque j'introduit un nouveau nom dans la colonne A ,je veux que la procédure me fasse le trie alph et de plus me contôle si j'y suis déja inscrit.
Donc la procédure doit avoir deux fonctions,
faire le trie alpha et contrôler les doublons où me dire "DESOLE ,JE SUIS DEJA INSCRIT"
A +
 

Pierrot93

XLDnaute Barbatruc
Re : Combiner une procédure

Re

oui effectivement je n'avais pas tout compris, essaye comme ceci :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
    If WorksheetFunction.CountIf(Range("A:A"), Target.Value) > 1 Then
        Application.EnableEvents = False
        MsgBox "Hola ! Mais t'es fou , j'y suis déja "
        Target.Value = ""
        Application.EnableEvents = True
    Else
        Range("A2:A" & Range("A65536").End(xlUp).Row).Sort Range("A2"), xlAscending, , , , , , xlNo
    End If
End If
End Sub

bonne soirée
@+
 

Discussions similaires

Statistiques des forums

Discussions
313 344
Messages
2 097 336
Membres
106 916
dernier inscrit
Soltani mohamed