|  
    
Il existe plusieurs façons de vérifier si une ligne ou des données existent dans un fichier Excel à l'aide d'UiPath, en fonction de ce que vous considérez comme une « correspondance ». Voici quelques approches, ainsi que leur mise en forme conditionnelle respective :
  
 Méthode 1 :Utilisation de « Read Range » et « Contient » (pour les recherches simples)  
  
 Cette méthode convient si vous recherchez une valeur spécifique dans une colonne. C'est moins efficace pour les grands ensembles de données mais simple à mettre en œuvre.  
  
 1. Plage de lecture : Utilisez l'activité « Lire la plage » pour lire l'intégralité de la feuille Excel dans une variable DataTable (par exemple, « myDataTable »).  
  
 2. Vérifier l'existence : Utilisez une activité « Pour chaque ligne » pour parcourir chaque ligne de « myDataTable ». À l'intérieur de la boucle, utilisez une activité « If » pour vérifier si une colonne spécifique contient votre valeur cible. Vous pouvez utiliser la méthode « Contains » pour la comparaison de chaînes ou d'autres opérateurs de comparaison en fonction du type de données.  
  
  
 ```vb.net  
 ' En supposant que vous recherchez "TargetValue" dans la colonne "ColumnName"  
 Pour chaque ligne en tant que DataRow dans myDataTable.Rows  
 Si row("ColumnName").ToString().Contains("TargetValue") Alors  
 ' Ligne trouvée  
 BooleanVariable =Vrai  
 Exit For 'Quitter la boucle une fois la ligne trouvée  
 Fin si  
 Ligne suivante  
  
 Si variable booléenne alors  
 'Faites quelque chose si la ligne existe  
 Autre  
 'Faites quelque chose si la ligne n'existe pas  
 Fin si  
  
 ```  
  
 Méthode 2 :Utilisation de « Lire la plage » et de « Sélectionner » (pour des recherches plus complexes)  
  
 Cette méthode permet des critères de recherche plus complexes à l'aide de LINQ.  
  
 1. Plage de lecture : Lisez la feuille Excel dans un DataTable.  
  
 2. Sélectionnez les lignes : Utilisez une requête LINQ pour filtrer le DataTable en fonction de vos critères. Par exemple, pour rechercher une ligne où « ColonneA » est égale à « ValeurA » et « ColonneB » est égale à « ValeurB » : 
  
  
 ```vb.net  
 Dim foundRows As DataRow() =myDataTable.Select("ColumnA ='ValueA' AND ColumnB ='ValueB'")  
  
 Si foundRows.Length> 0 Alors  
 ' Ligne(s) trouvée(s)  
 Autre  
 ' Aucune ligne trouvée  
 Fin si  
 ```  
  
 Méthode 3 :Utilisation de « Lookup Data Table » (pour des recherches rapides)  
  
 Si vous avez besoin de vérifier efficacement l'existence d'une ligne spécifique basée sur une colonne clé, utilisez l'activité « Rechercher une table de données ». C’est beaucoup plus rapide que de parcourir de grands ensembles de données.  
  
 1. Plage de lecture : Lisez la feuille Excel dans un DataTable.  
  
 2. Tableau de données de recherche : Utilisez l'activité « Rechercher une table de données » pour rechercher une ligne en fonction d'une valeur de colonne clé. Spécifiez la colonne contenant la clé et la valeur que vous recherchez.  
  
 3. Vérifier le résultat : Vérifiez le résultat de l'activité « Lookup Data Table ». S'il renvoie une ligne, la ligne existe ; sinon, ce n'est pas le cas.  
  
 ```vb.net  
 Dim foundRow As DataRow =myDataTable.AsEnumerable().FirstOrDefault(Function(row) row("KeyColumn").ToString() ="KeyValue")  
  
 Si foundRow n'est pas rien, alors  
 ' Ligne trouvée  
 Autre  
 ' Ligne introuvable  
 Fin si  
 ```  
  
 Mise en forme conditionnelle :  
  
 Le « formatage conditionnel » dans UiPath fait référence aux instructions « If » utilisées dans votre flux de travail. Selon que la ligne est trouvée ou non (en utilisant une variable booléenne ou en vérifiant la longueur du tableau renvoyé par l'instruction select), vous brancherez votre flux de travail en utilisant les instructions « If » et « Else » pour effectuer différentes actions. Les exemples de code ci-dessus le démontrent.  
  
 Considérations importantes :  
  
 * Types de données : Assurez-vous que vos types de données correspondent lorsque vous comparez des valeurs (par exemple, convertissez les nombres en chaînes si nécessaire).  
 * Sensibilité à la casse : La méthode `Contains` est sensible à la casse. Utilisez `ToLower()` ou `ToUpper()` pour les recherches insensibles à la casse.  
 * Gestion des erreurs : Pensez à ajouter une gestion des erreurs (par exemple, des blocs « Try Catch ») pour gérer les problèmes potentiels tels que le fichier introuvable ou les formats de données incorrects.  
 * Grands ensembles de données : Pour les ensembles de données très volumineux, envisagez d'optimiser vos méthodes de recherche (par exemple, en utilisant des index dans Excel ou des solutions de base de données si possible).  
  
  
 N'oubliez pas de remplacer les espaces réservés tels que `"ColumnName"`, `"TargetValue"`, `"ColumnA"`, `"ValueA"`, `"ColumnB"`, `"ValueB"`, `"KeyColumn"` et `"KeyValue"` par vos noms et valeurs de colonne réels. Choisissez la méthode qui correspond le mieux à vos besoins et à votre volume de données. Pour une recherche plus efficace sur de grands ensembles de données, « Lookup Data Table » est généralement préféré.
 
 |