Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Les types de données liées ont été publiés pour la première fois en Excel pour Microsoft 365 juin 2018. Aussi, d’autres fonctionnalités peuvent ne pas être en mesure de les identifier. Cela peut être particulièrement vrai lorsque vous voulez utiliser d’autres fonctionnalités pour identifier de manière conditionnable si une cellule contient un type de données lié ou non. Cet article décrit certaines solutions de contournement que vous pouvez utiliser pour identifier les types de données liés dans les cellules.

Remarque : Les types de données liées sont uniquement disponibles pour les clients multi-clients du monde entier (comptes Microsoft 365 standard).

Formules

Vous pouvez toujours écrire des formules qui font référence à des types de données. Toutefois, si vous voulez extraire le texte d’une cellule avec un type de données lié à l’aide de la fonction TEXTE, un #VALUE ! erreur.

Une solution de contournement consiste à utiliser la fonction VALEUR CHAMP ET à spécifier le champ Nom de l field_name un argument. Dans l’exemple suivant, si la cellule A1 contenait un type de données Titres boursiers, la formule renvoyait le nom de l’action.

=VALEUR CHAMP(A1;"Nom »)

Toutefois, si la cellule A1 ne contient pas de type de données lié, la fonction VALEURVAL retourne une erreur #FIELD!. Si vous souhaitez évaluer si une cellule contient ou non un type de données lié, vous pouvez utiliser la formule suivante, qui utilise la fonction ESTERREUR pour déterminer si la fonction VALEURRE CHAMPS retourne une erreur.

=SI(ESTERREUR(VALEUR CHAMP(A2;"Nom »));"Cette cellule n’a pas de type de données lié »;"Cette cellule a un type de données lié »)

Si la formule se présente comme une erreur, elle renvoye le texte « Cette cellule n’a pas de type de données liées », sinon elle renvoye « Cette cellule a un type de données lié ».

Si vous voulez simplement supprimer l'#FIELD! , vous pouvez utiliser :

=SIERREUR(VALEUR CHAMP(A1;"Nom" »)" »)

Ce qui a pour rôle de renvoyer une cellule vide en cas d’erreur.

Mise en forme conditionnelle

Vous pouvez utiliser une mise en forme basée sur la mise en forme d’une cellule selon qu’elle possède ou non un type de données lié. Sélectionnez tout d’abord les cellules qui ont besoin de la mise en forme conditionnelle, puis allez à la page Accueil > Mise en forme conditionnelle > Nouvelle règle > Utiliser une formule... Pour la formule, vous devez utiliser la formule suivante :

=NON(ESTERREUR(VALEUR CHAMP(A1,"Nom »)))

La cellule A1 est la première cellule de la plage à évaluer. Ensuite, appliquez le format de votre souhaitez.

Dans cet exemple, si la cellule A1 contient un nom de champ valide pour « Nom », la formule retourne VRAI et la mise en forme est appliquée. Si la cellule A1 ne contient pas de type de données lié, la formule retourne FAUX et aucune mise en forme n’est appliquée. Vous pouvez supprimer la valeur NON si vous voulez mettre en surbrillrillez toutes les cellules qui ne contiennent pas de types de données liées valides à la place.

VBA

Plusieurs méthodes VBA (Visual Basic pour Applications) vous permettant d’identifier si une cellule ou plage contient des types de données liés. Cette première procédure utilise la propriété HasRichDataType. 

Ces deux procédures vous invitent à sélectionner une plage de cellules à évaluer, puis à renvoyer une zone de message avec les résultats.

Sub IsLinkedDataType()
    Dim c As Range
    Dim rng As Range
    Dim strResults As String
    
    Set rng = Application.InputBox("Select a range to check for linked data types", Type:=8)
    
    For Each c In rng
      '    Check if the HasRichDataType is TRUE or FALSE
        If c.HasRichDataType = True Then
        '   The cell holds a linked data type
            strResults = strResults & c.Text & " - Linked data type" & vbCrLf
        Else
            strResults = strResults & c.Text & " - Not a linked data type" & vbCrLf
        End If
    Next c

    MsgBox "Your range contains the following details" & vbCrLf & vbCrLf & strResults, vbInformation + vbOKOnly, "Results"
    
End Sub

Cette procédure suivante utilise la propriété LinkedDataTypeState.

Sub IsLinkedDataTypeState()
    Dim c As Range
    Dim rng As Range
    Dim strResults As String
    
    Set rng = Application.InputBox("Select a range to check for linked data types", Type:=8)
    
    For Each c In rng
   '    Check if the LinkedDataTypeState is 1 (TRUE) or 0 (FALSE)
        If c.LinkedDataTypeState = 1 Then
        '   The cell holds a linked data type
            strResults = strResults & c.Text & " - Linked data type" & vbCrLf
        Else
            strResults = strResults & c.Text & " - Not a linked data type" & vbCrLf
        End If
    Next c
    
   MsgBox "Your range contains the following details" & vbCrLf & vbCrLf & strResults, vbInformation + vbOKOnly, "Results"

End Sub

Cet extrait de code final est une fonction définie par l’utilisateur et vous le référencez comme n’importe quelle Excel formule. Entrez simplement =fn_IsLinkedDataType(A1), où A1 est la cellule que vous voulez évaluer.

Public Function fn_IsLinkedDataType(c As Range)
'   Function will return TRUE if a referenced cell contains a linked data type
    If c.HasRichDataType = True Then
      fn_IsLinkedDataType = "Linked data type"
    Else
        fn_IsLinkedDataType = "Not a linked data type"
    End If
End Function

Pour utiliser l’un de ces exemples, appuyez sur Alt+F11 pour ouvrir l’Éditeur Visual Basic (VBE), puis allez dans Insérer un modulede>, puis collez le code dans la nouvelle fenêtre qui s’ouvre à droite. Vous pouvez utiliser Alt+Q pour revenir à Excel lorsque vous avez terminé. Pour exécuter l’un des deux premiers exemples, allez dans l’onglet Développeur >Code> macros> sélectionnez la macro que vous voulez exécuter dans la liste, puis sélectionnez Exécuter.

Vous avez besoin d’une aide supplémentaire ?

Vous pouvez toujours poser des questions à un expert de la Communauté technique Excel ou obtenir une assistance dans la Communauté de support.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×