Bonjour,

J'ai un formulaire avec une liste de noms de personnes absentes dans des champs non contigus, sur le restant du formulaire, je peux activer un UserForm qui vas me chercher des noms pour les personnes présentes dans une autre feuille du même classeur, toujours dans des champs non contigus.
Je vérifie également par l'intermédiaire d'un controle text box que les noms des personnes présentes ne correspondent pas avec les absents.
en xl 2007 cela fonctionne, quand la macro trouve un nom qui est absent, elle lance une msgBox et aprés confirmation de celle ci elle passe au nom suivant.
mais en xl97/2000 xl bug et demande à fermer.

voici le code qui me controle les absents ou les doublons :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub TextBox2_Change()
Rem Alerte doublons
 
If Range("AB9") > 0 Then
  msg = Range("AB5")
 
  confirmation = MsgBox(msg, vbYesNo + vbExclamation, "Alerte Plan de ligne")
 
      If confirmation = vbYes Then
      ActiveCell.Select
      Selection.ClearContents
      TextBox2 = 0
      End If
 
      If confirmation = vbNo Then
      ActiveCell.Select
      Selection.ClearContents
      TextBox2 = 0
      End If
 
End If
 
End Sub
et voici une partie du code qui vas me chercher les noms :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Sub Macro_Sucrés_LC_imp()
'
' Macro_sucrés_std_imp Macro
' Enregistrement des noms pour sucrés LC imp
' Macro crée le 06/08/09 par Martin Dominique
 
    Application.ScreenUpdating = False
 
    Range("D12").Select                                  ' sucrés 14072 imp
    ActiveCell.FormulaR1C1 = "=Compétences!R[4]C[-2]"
    Range("D14").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[-11]C[1]"
    Range("D16").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[-11]C[1]"
    Range("D19").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[-13]C[1]"
    Range("D21").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[-13]C[1]"
    Range("D23").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[-14]C[1]"
    Range("D25").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[-15]C[1]"
    Range("D28").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[-16]C[1]"
    Range("J13").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[4]C[-8]"
    Range("J15").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[4]C[-5]"
    Range("J19").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[1]C[-5]"
    Range("J22").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[-1]C[-5]"
    Range("J25").Select
    ActiveCell.FormulaR1C1 = "=Compétences!RC[-5]"
    Range("J26").Select
    ActiveCell.FormulaR1C1 = "=Compétences!RC[-5]"
    Range("J27").Select
    ActiveCell.FormulaR1C1 = "=Compétences!RC[-5]"
    Range("J28").Select
    ActiveCell.FormulaR1C1 = "=Compétences!RC[-5]"
    Range("J29").Select
    ActiveCell.FormulaR1C1 = "=Compétences!RC[-5]"
    Range("J32").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[1]C[-5]"
    Range("J47").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[-11]C[-8]"
    Range("J48").Select
    ActiveCell.FormulaR1C1 = "=Compétences!R[-11]C[-8]"
 
 
    Range("F12").Select                          ' comptage effectifs LC
    ActiveCell.FormulaR1C1 = "0.33"
    Range("F14").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("L13").Select
    ActiveCell.FormulaR1C1 = "0.34"
    Range("L48").Select
    ActiveCell.FormulaR1C1 = "0.33"
 
End Sub
Merci de votre aide et bonne fin de weekend

Dom

Re bonjour,

désolé mais je ne connaissais pas les balises pour le code

Une autre astuce consisterait à tester chaque cellule des champs en rose dans la pièce jointe avec chaque cellule du formulaire compétence, mais je ne sais pas faire

Merci à vous