Entrée de nom unique, prendre deux (Microsoft Excel)
Chris utilise une technique de validation des données qui réussit à empêcher la saisie d’informations non uniques dans une colonne. (Cette technique a été décrite dans les numéros précédents de ExcelTips.) Il note à juste titre qu’il y a toujours un problème avec la validation des données, cependant: Quelqu’un peut coller des informations dans une cellule et contourner avec succès toutes les vérifications en place.
Par exemple, si vous tapez « George » dans la cellule A8, puis tapez « George »
dans A9, la validation régulière des données générera une erreur, comme on pouvait s’y attendre, indiquant que la valeur que vous essayez d’entrer n’est pas unique.
Cependant, si vous tapez « George » dans la cellule A8, copiez cette cellule et collez-la dans la cellule A9, aucune erreur de validation de données n’est déclenchée – le collage est autorisé.
Il n’y a pas de moyen direct de contourner cela dans Excel. Cependant, vous pouvez faire en sorte qu’Excel effectue des vérifications chaque fois que vous essayez de coller. Considérez la macro suivante:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next For Each TmpRng In Target TmpVal = TmpRng.Validation.Type If TmpVal > 0 Then If Application.CutCopyMode = 1 Then MsgBox "You cannot paste into validated cells." Application.CutCopyMode = False Exit Sub End If End If Next End Sub
Cette macro n’est exécutée que lorsque la sélection change dans une feuille de calcul. (Ce code doit être dans la fenêtre de code d’une feuille de calcul.) Il examine les cellules cibles (celles sélectionnées), et si l’utilisateur essaie de coller dans une cellule dont la validation est active, il ne le permettra pas.
En outre, l’utilisateur verra une boîte de dialogue indiquant l’erreur.
Vous devez noter que cette routine vérifie simplement si le collage dans une cellule validée par les données est en cours. Si tel est le cas, une erreur est générée.
La routine ne vérifie pas si ce qui est collé est réellement autorisé selon les règles de validation dans les cellules cibles; ce serait beaucoup plus complexe et nécessiterait un peu plus de codage.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (2449) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.