Recherche cellule à partir d'un format hexadécimal
Fermé
julien
-
12 janv. 2016 à 16:39
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 15 janv. 2016 à 11:22
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 15 janv. 2016 à 11:22
A voir également:
- Recherche cellule à partir d'un format hexadécimal
- Format epub - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Telecharger format factory - Télécharger - Conversion & Codecs
- Aller à la ligne dans une cellule excel - Guide
11 réponses
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
13 janv. 2016 à 02:49
13 janv. 2016 à 02:49
Bonsoir,
il n'y a pas à proprement parler de format hexadécimal. Ca n'est que du texte.
Pour t'en convaincre, fait un DECHEX() sur une cellule contenant un nombre décimal.
La valeur numérique passée en paramètre sera de type 1 alors que la valeur hexa sera de type 2, ie du texte.
Ceci dit, c'est du texte qui ne contient que 0..9 et A..F. Donc tout n'est pas perdu.
Tu ne dis pas si tes données hexa sont issues d'une formule et si cette formule est récupérée.
As-tu un signe distinctif visible ou pas qui permettrait de localiser ces valeurs....
Bref, envoie ton fichier (un extrait suffira) qu'on voit ce qu'il y a autour de tes valeur hexadécimales.
Passe sur cjoint.fr pour monter ton fichier.
Cordialement
il n'y a pas à proprement parler de format hexadécimal. Ca n'est que du texte.
Pour t'en convaincre, fait un DECHEX() sur une cellule contenant un nombre décimal.
La valeur numérique passée en paramètre sera de type 1 alors que la valeur hexa sera de type 2, ie du texte.
Ceci dit, c'est du texte qui ne contient que 0..9 et A..F. Donc tout n'est pas perdu.
Tu ne dis pas si tes données hexa sont issues d'une formule et si cette formule est récupérée.
As-tu un signe distinctif visible ou pas qui permettrait de localiser ces valeurs....
Bref, envoie ton fichier (un extrait suffira) qu'on voit ce qu'il y a autour de tes valeur hexadécimales.
Passe sur cjoint.fr pour monter ton fichier.
Cordialement
Merci JvDo de ta réponse si rapide ,
mes données hexadécimales ne sont pas issues de formules et malheureusement il n'y a aucun signe distinctif . Je ne peut pas utilisé le site internet à mon bureau donc je te copie colle pour te montrer le type de données..
086C - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FF20 - 4CC0 - 1300 - A82A - 0200
0865 - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FF20 - 4CC0 - 1300 - A82A - 0200
0866 - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FF20 - 4CC0 - 1300 - A82A - 0200
0998 - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FFC0 - 8A40 - 1300 - A82A - 0200
0991 - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FFC0 - 8A40 - 1300 - A82A - 0200
0992 - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FFC0 - 8A40 - 1300 - A82A - 0200
Cordialement
mes données hexadécimales ne sont pas issues de formules et malheureusement il n'y a aucun signe distinctif . Je ne peut pas utilisé le site internet à mon bureau donc je te copie colle pour te montrer le type de données..
086C - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FF20 - 4CC0 - 1300 - A82A - 0200
0865 - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FF20 - 4CC0 - 1300 - A82A - 0200
0866 - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FF20 - 4CC0 - 1300 - A82A - 0200
0998 - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FFC0 - 8A40 - 1300 - A82A - 0200
0991 - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FFC0 - 8A40 - 1300 - A82A - 0200
0992 - 0000 - 0000 - 0003 - 4444 - 4444 - 4444 - 4444 - FFFF - FFC0 - 8A40 - 1300 - A82A - 0200
Cordialement
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
13 janv. 2016 à 11:27
13 janv. 2016 à 11:27
Bonjour,
En supposant que tes séries de 4 caractères/chiffres sont chacune dans une colonne distincte, dans la zone AB28:AO33 par exemple, tu peux utiliser la formule :
qui affichera VRAI si la zone AB28:AB33 contient des chaînes de caractères.
C'est à recopier sous ou sur chaque colonne de données pour identifier celles (les colonnes) candidates à contenir de l'hexa.
Naturellement, si une colonne contient "toto" elle sera identifiée comme contenant de l'hexa.
Ca n'est donc pas fiable à 100%, mais, au regard de ce que tu as transmis, ça pourrait fonctionner.
Si tu veux une formule pour toute la zone (sans recopie donc), tu sélectionnes une zone d'une ligne sur le nbre de colonne de tes données (AB25:AO25 par exemple) et tu saisis :
en la validant par CTRL+MAJ+ENTER.
A partir de là, tu peux obtenir les n° de colonne des données potentiellement hexadécimale.
Cordialement
En supposant que tes séries de 4 caractères/chiffres sont chacune dans une colonne distincte, dans la zone AB28:AO33 par exemple, tu peux utiliser la formule :
=SOMMEPROD(--(NON(ESTNUM(AB28:AB33))))>0
qui affichera VRAI si la zone AB28:AB33 contient des chaînes de caractères.
C'est à recopier sous ou sur chaque colonne de données pour identifier celles (les colonnes) candidates à contenir de l'hexa.
Naturellement, si une colonne contient "toto" elle sera identifiée comme contenant de l'hexa.
Ca n'est donc pas fiable à 100%, mais, au regard de ce que tu as transmis, ça pourrait fonctionner.
Si tu veux une formule pour toute la zone (sans recopie donc), tu sélectionnes une zone d'une ligne sur le nbre de colonne de tes données (AB25:AO25 par exemple) et tu saisis :
=SOMMEPROD(--(NON(ESTNUM(INDEX(AB28:AO33;0;TRANSPOSE(LIGNE(INDIRECT("1:"&COLONNES(AB28:AO33)))))))))>0
en la validant par CTRL+MAJ+ENTER.
A partir de là, tu peux obtenir les n° de colonne des données potentiellement hexadécimale.
Cordialement
Merci de ta réponse ,
Malheureusement mon fichier est plein d'autres chaines de caractères , il ne détectera donc pas seulement les hexadécimales avec cette technique ..
Malheureusement mon fichier est plein d'autres chaines de caractères , il ne détectera donc pas seulement les hexadécimales avec cette technique ..
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
14 janv. 2016 à 12:33
14 janv. 2016 à 12:33
Bonjour,
Il reste une possibilité d'identifier les chaînes de caractères ne contenant que les lettres A à F.
Cela suppose donc que les autres chaînes de caractères contiennent contiennent d'autres lettres que A...F pour être discriminées.
Soit tu vérifies tout seul, soit tu envoies un vrai fichier consistant de ce que tu gères (anonymisé bien entendu).
Cordialement
Il reste une possibilité d'identifier les chaînes de caractères ne contenant que les lettres A à F.
Cela suppose donc que les autres chaînes de caractères contiennent contiennent d'autres lettres que A...F pour être discriminées.
Soit tu vérifies tout seul, soit tu envoies un vrai fichier consistant de ce que tu gères (anonymisé bien entendu).
Cordialement
Merci de ton aide mais malheureusement les autres phrases contiennent également ces caractères .. je pensais qu'une fonction précise pouvait rechercher un format hexadécimal comme la fonction qui recherche un format date ..
Je vais me débrouiller autrement , merci de ton aide et à bientôt peut-être ..
Je vais me débrouiller autrement , merci de ton aide et à bientôt peut-être ..
Re-bonjour JVOD
Je reviens vers toi pour affiner ma demande , après examination je me rends compte que les colonnes se situes à chaque fois décalé de 26 à 31 colonnes sur la droite d'une cellule connue , je m'explique :
- Par une recherche de format je détecte une colonne dans mon tableau ( Colone X )
- Il faudrait que je trouve une formule détectant qu'une colonne situé entre X + 26 à X +31 contiennent des lettre entre A et F ET des chiffres entre 0 et 9 pour les copié et coller dans une autre feuille
Je sais que c'est compliqué mais saurais-tu comment procéder ?
Merci d'avance
Je reviens vers toi pour affiner ma demande , après examination je me rends compte que les colonnes se situes à chaque fois décalé de 26 à 31 colonnes sur la droite d'une cellule connue , je m'explique :
- Par une recherche de format je détecte une colonne dans mon tableau ( Colone X )
- Il faudrait que je trouve une formule détectant qu'une colonne situé entre X + 26 à X +31 contiennent des lettre entre A et F ET des chiffres entre 0 et 9 pour les copié et coller dans une autre feuille
Je sais que c'est compliqué mais saurais-tu comment procéder ?
Merci d'avance
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
Modifié par JvDo le 14/01/2016 à 17:17
Modifié par JvDo le 14/01/2016 à 17:17
Bonjour,
une idée : tu fais une conversion Hexa vers Decimal pour chaque colonne et tu comptes les erreurs.
S'il n'y en a pas, la colonne est candidate à l'hexadécimalité.
formule :
$F$1 : c'est la 1ère cellule de ta colonne X
26 : c'est le premier décalage. il suffit de le faire varier jusqu'à 31
39 : nombre de ligne de tes colonnes
cordialement
une idée : tu fais une conversion Hexa vers Decimal pour chaque colonne et tu comptes les erreurs.
S'il n'y en a pas, la colonne est candidate à l'hexadécimalité.
formule :
SOMMEPROD(--ESTERREUR(HEXDEC(INDEX(DECALER($F$1;0;26;39;1);LIGNE($1:$39)))))
$F$1 : c'est la 1ère cellule de ta colonne X
26 : c'est le premier décalage. il suffit de le faire varier jusqu'à 31
39 : nombre de ligne de tes colonnes
cordialement
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
Modifié par eriiic le 14/01/2016 à 19:06
Modifié par eriiic le 14/01/2016 à 19:06
Bonjour,
Avec un peu de vba.
Ouvre ce classeur puis un des tiens avec la feuille des codes hexa active, et tape Ctrl+w
La plage hexa est copiée et collée à la suite dans Feuil2 colonne A de ce classeur.
Plus qu'à enchainer sur les autres classeurs.
Pour le test je me contente de découper sur " - " et regarde si j'ai bien 14 éléments. Si il faut compléter le test tu dis.
Ctrl+F11 pour voir le code dans le Module1.
https://www.cjoint.com/c/FAoseGlGiLB
Reste à adapter à la réalité et à ton besoin exact.
eric
En essayant continuellement, on finit par r�ussir.
Donc plus �a rate, plus on a de chances que �a marche.(les Shadoks)
En plus du merci (si si, �a se fait !!!), penser � mettre en r�solu. Merci
Avec un peu de vba.
Ouvre ce classeur puis un des tiens avec la feuille des codes hexa active, et tape Ctrl+w
La plage hexa est copiée et collée à la suite dans Feuil2 colonne A de ce classeur.
Plus qu'à enchainer sur les autres classeurs.
Pour le test je me contente de découper sur " - " et regarde si j'ai bien 14 éléments. Si il faut compléter le test tu dis.
Ctrl+F11 pour voir le code dans le Module1.
https://www.cjoint.com/c/FAoseGlGiLB
Reste à adapter à la réalité et à ton besoin exact.
eric
En essayant continuellement, on finit par r�ussir.
Donc plus �a rate, plus on a de chances que �a marche.(les Shadoks)
En plus du merci (si si, �a se fait !!!), penser � mettre en r�solu. Merci
Salut les gars ,
Merci de vos réponse , en effet j'ai oublié une grosse précision , je bosse en macro.. donc eric m'a l'air plus proche de ce que je recherche , cependant je n'arrive pas à avoir ton code de macro à travers ton " TreeGrid" ctrl+ F11 ne donne rien .. merci
Merci de vos réponse , en effet j'ai oublié une grosse précision , je bosse en macro.. donc eric m'a l'air plus proche de ce que je recherche , cependant je n'arrive pas à avoir ton code de macro à travers ton " TreeGrid" ctrl+ F11 ne donne rien .. merci
Alors , après essai , le code semble être exact , cependant je ne cherche pas entre la colonne 26 et 31 ..
- J'ai fait une recherche de format pour tomber sur la première cellule d'une colonne , j'affecte à la variable f la coordonnée de la cellule active
- Ensuit j'aimerais dire " Se décaler de 26 colonnes par rapport à la cellule f "
- Et effectuer ce test jusqu'à la cellule f+ 31
Je sais pas si c'est possible et si je me suis bien exprimé ..
exemple :
If IsNumeric(Mid(ActiveCell, 1, 4)) And Len(ActiveCell) = 8 And (Not IsNumeric(Mid(ActiveCell, 5, 1))) Then 'Cette condition permet d'effectuer une recherche par la forme du contenu d'une cellule (ici celle d'un XXXX)
'
' En cas de cellule conforme, on la copie et colle à son emplacement sur la deuxième page
Set f = ActiveCell ' f prend la valeur de la cellule active
Selection.Copy 'On copie la sélection
Sheets(2).Select 'Selection de la feuille 2
Cells(k, 2).Select 'Selection de la cellule (k,2)
ActiveSheet.Paste 'On colle la cellule sélectionnée
Sheets(1).Select 'Selectionner la feuille 1
A partir de ca j'aimerais l'adapté a ton code ..
Merci ( je sais que je suis pénible ^^ )
- J'ai fait une recherche de format pour tomber sur la première cellule d'une colonne , j'affecte à la variable f la coordonnée de la cellule active
- Ensuit j'aimerais dire " Se décaler de 26 colonnes par rapport à la cellule f "
- Et effectuer ce test jusqu'à la cellule f+ 31
Je sais pas si c'est possible et si je me suis bien exprimé ..
exemple :
If IsNumeric(Mid(ActiveCell, 1, 4)) And Len(ActiveCell) = 8 And (Not IsNumeric(Mid(ActiveCell, 5, 1))) Then 'Cette condition permet d'effectuer une recherche par la forme du contenu d'une cellule (ici celle d'un XXXX)
'
' En cas de cellule conforme, on la copie et colle à son emplacement sur la deuxième page
Set f = ActiveCell ' f prend la valeur de la cellule active
Selection.Copy 'On copie la sélection
Sheets(2).Select 'Selection de la feuille 2
Cells(k, 2).Select 'Selection de la cellule (k,2)
ActiveSheet.Paste 'On colle la cellule sélectionnée
Sheets(1).Select 'Selectionner la feuille 1
A partir de ca j'aimerais l'adapté a ton code ..
Merci ( je sais que je suis pénible ^^ )
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
15 janv. 2016 à 11:22
15 janv. 2016 à 11:22
Bonjour,
tu peux rechercher entre colonne 1 et 256 si tu veux.
Mais ce n'est qu'une seule valeur que tu veux ? Pas toute une colonne ?
Si tu mettais un extrait de fichier en disant ce que tu veux copier et où tu veux le coller on y verrait plus clair.
eric
tu peux rechercher entre colonne 1 et 256 si tu veux.
Mais ce n'est qu'une seule valeur que tu veux ? Pas toute une colonne ?
Si tu mettais un extrait de fichier en disant ce que tu veux copier et où tu veux le coller on y verrait plus clair.
eric