A voir également:
- Modifier contenu cellule excel 2007
- Modifier liste déroulante excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Verrouiller cellule excel - Guide
- Comment modifier un pdf - Guide
- Excel cellule couleur si condition texte - Guide
7 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
6 mars 2013 à 11:47
6 mars 2013 à 11:47
Bonjour
si votre Hp se ballade dans la cellule, essayez ceci:
=STXT(A1;TROUVE("Hp";A1;1);12)
crdlmnt
si votre Hp se ballade dans la cellule, essayez ceci:
=STXT(A1;TROUVE("Hp";A1;1);12)
crdlmnt
scinarf
Messages postés
1098
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
252
6 mars 2013 à 11:05
6 mars 2013 à 11:05
Bonjour,
Alors sur la colonne E vous pouvez mettre la formule suivante =Gauche(D2;12)
**D2** pour la ligne E2 après il vous suffit de tirer la formule vers le bas
Cordialement
Alors sur la colonne E vous pouvez mettre la formule suivante =Gauche(D2;12)
**D2** pour la ligne E2 après il vous suffit de tirer la formule vers le bas
Cordialement
Bonjour et merci pour vos conseils !
Toutefois, dans l'exemple sus-cité, votre solution nous donne après application de votre formule :
NQ: Hp198776
Par ailleurs, comme indiqué, la suite de caractères qui m'interesse et qui commençant par Hp peut se trouver n'importe ou dans la cellule, sans aucune règle possible à appliquer.
En gros ce qu'il faudrait c'est une formule qui cherche "Hp" et ne garde que ça, suivi des 10 chiffres qui compose la suite de caractères.
J'ajoute qu'idéalement, si la formule n'arrive pas à détecter pour une ligne, de suite de caractère hp suivi de 10 chiffres, ça serait magnifique si un msg d'erreur avec la/les ligne(s) incriminée(s) apparaissait !
Toutefois, dans l'exemple sus-cité, votre solution nous donne après application de votre formule :
NQ: Hp198776
Par ailleurs, comme indiqué, la suite de caractères qui m'interesse et qui commençant par Hp peut se trouver n'importe ou dans la cellule, sans aucune règle possible à appliquer.
En gros ce qu'il faudrait c'est une formule qui cherche "Hp" et ne garde que ça, suivi des 10 chiffres qui compose la suite de caractères.
J'ajoute qu'idéalement, si la formule n'arrive pas à détecter pour une ligne, de suite de caractère hp suivi de 10 chiffres, ça serait magnifique si un msg d'erreur avec la/les ligne(s) incriminée(s) apparaissait !
scinarf
Messages postés
1098
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
252
6 mars 2013 à 11:29
6 mars 2013 à 11:29
Etrange en effet, puisque la formule Gauche(Texte,nombre de caractère) prend les 12 premiers caractères en partant de la gauche...
Si le HP est toujours situé dans ces 12 premiers caractère logiquement il ne devrait pas y avoir de soucis.
Gauche("12365Hp78965,cshbch";12) = 12365Hp78965
dans la logique.
Maintenant si le HP peut être en dehors de ces 12 premiers caractères, la il faut réfléchir un peu. Et peut être qu'une simple formule ne convient pas forcement. Ou sinon une formule personnalisée.
Les autres caractères sont il toujours des lettres ?
Si oui, on peut faire un test pour vérifier que "HP" est disponible dans la cellule et après on peut extraire tous les chiffres via les fonctions VBA.
J'attend votre réponse avant de vous faire une formule qui fonctionnerait.
Si le HP est toujours situé dans ces 12 premiers caractère logiquement il ne devrait pas y avoir de soucis.
Gauche("12365Hp78965,cshbch";12) = 12365Hp78965
dans la logique.
Maintenant si le HP peut être en dehors de ces 12 premiers caractères, la il faut réfléchir un peu. Et peut être qu'une simple formule ne convient pas forcement. Ou sinon une formule personnalisée.
Les autres caractères sont il toujours des lettres ?
Si oui, on peut faire un test pour vérifier que "HP" est disponible dans la cellule et après on peut extraire tous les chiffres via les fonctions VBA.
J'attend votre réponse avant de vous faire une formule qui fonctionnerait.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour et merci de votre intérêt !
Alors il n'y a pas de règle au niveau des informations qui sont présentes dans la colonne D:
HP1324657891 peut très bien hors des 12 premiers caractères de la cellule.
Il faut considérer que les autres caractères de la cellules peuvent etre tout et n'importe quoi (chiffres, lettres, caractères spéciaux, ponctuation...)
C'est la raison pour laquelle je soumettais que la macro recherche le texte "HP" et le report avec les 10 chiffres qui le suivent ! :)
Merci encore !
Alors il n'y a pas de règle au niveau des informations qui sont présentes dans la colonne D:
HP1324657891 peut très bien hors des 12 premiers caractères de la cellule.
Il faut considérer que les autres caractères de la cellules peuvent etre tout et n'importe quoi (chiffres, lettres, caractères spéciaux, ponctuation...)
C'est la raison pour laquelle je soumettais que la macro recherche le texte "HP" et le report avec les 10 chiffres qui le suivent ! :)
Merci encore !
scinarf
Messages postés
1098
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
252
6 mars 2013 à 11:47
6 mars 2013 à 11:47
AH oki, je comprend mieux, donc les 10 chiffres qui intéressent se situent forcement après le HP ?
Alors si c'est ca on peut utiliser les formules excel pour le faire ce qui donne:
=STXT(D2;TROUVE("HP";D2);TROUVE("HP";D2)+11)
Trouve("HP";D2) renvoie la place du premier caractère dans la chaine
Par exemple Trouve("HP";jkknbHPbvbdhHGG) va renvoyer 6 (si je compte bien)
Ensuite STXT extrait une chaine de caractère à partir d'une autre
STXT(12365479;1;5) renvoie 12365 (si je compte bien) on prend le premier caractère jusqu'au 5ème.
Dans votre cas on prend le caractère ou HP apparait jusqu'au caractère +11 (car il y a le P)
Je sais pas si j'ai été clair mais ça devrait fonctionner. Sinon on trouvera autre chose.
Alors si c'est ca on peut utiliser les formules excel pour le faire ce qui donne:
=STXT(D2;TROUVE("HP";D2);TROUVE("HP";D2)+11)
Trouve("HP";D2) renvoie la place du premier caractère dans la chaine
Par exemple Trouve("HP";jkknbHPbvbdhHGG) va renvoyer 6 (si je compte bien)
Ensuite STXT extrait une chaine de caractère à partir d'une autre
STXT(12365479;1;5) renvoie 12365 (si je compte bien) on prend le premier caractère jusqu'au 5ème.
Dans votre cas on prend le caractère ou HP apparait jusqu'au caractère +11 (car il y a le P)
Je sais pas si j'ai été clair mais ça devrait fonctionner. Sinon on trouvera autre chose.