|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Membre Confirmé
![]() |
Bonjour tout le monde.
J'ai beau chercher, impossible de trouver ce que je veux faire. Je m'explique. Dans des cellules, j'ai "NB : n Cause..." et je voudrai récupérer la valeur située juste avec le "Nb :" qui peut être sur un ou plusieurs caractères, afin de pouvoir les additionner. Merci de votre aide.
__________________
Le site Mobigeeks.FR est toujours à la recherche d'AUTEURS -> Contactez-nous. |
|
|
|
|
|
#2 (permalink) |
|
Membre Expert
![]() Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
|
Salut,
Une formule dans la feuille fait l'affaire, mais étant dans la zone VBA, je ne sais pas si ça va te convenir... Voici la formule en imaginant ton exemple en A1 Code :
=MID(A1;6;SEARCH("Cause";A1)-6)*1 A+
__________________
N'oubliez pas le si votre problème est solutionné.
|
|
|
|
|
|
#3 (permalink) |
|
Membre Confirmé
![]() |
Merci de ta réponse, mais effectivement, je cherche une solution en VBA.
__________________
Le site Mobigeeks.FR est toujours à la recherche d'AUTEURS -> Contactez-nous. |
|
|
|
|
|
#4 (permalink) |
|
Membre Expert
![]() Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
|
Dans ce cas, voici un code d'une discussion récente adapté à ton cas,
Code :
Sub ExtratNb() Dim derLig As Long, r As Long, s As Long, LeTotal As Long Dim Inter As Long derLig = Sheets("TaFeuil").Cells(Columns(1).Cells.Count, 1).End(xlUp).Row 'Récupère le N° de la dernière ligne remplie sur base de la colonne A For r = 2 To derLig 'Boucle sur toutes les lignes remplies, à partir de 2 car j'imagine qu'il y des titres For s = 6 To Len(Cells(r, 1)) 'boucle sur chaque caractère contenu dans la cellule, à partir du 6 ème car commence toujours par "NB : " soit 5 caractères If IsNumeric(Mid(Cells(r, 1), s, 1)) Then 'Vérifie si la caractère est numérique Inter = Inter & Mid(Cells(r, 1), s, 1) 'Concatène les caractères numérique pour extraire le nombre Else 'Si n'est pas numérique alors "court-circuite" la boucle sur les caractères LeTotal = LeTotal + Inter Inter = 0 'réinitialisation de la variable GoTo sc: End If Next s 'Passe au caractère suivant sc: Next r 'Passe à la ligne suivante MsgBox "Le total est: " & LeTotal End Sub
__________________
N'oubliez pas le si votre problème est solutionné.
|
|
|
|
|
|
#5 (permalink) |
|
Membre Confirmé
![]() |
Ouais, super.
Merci. Par contre, il faut que je ne récupère QUE les nombre situé entre "Nb : " et "CAUSE" ; il ne faut surtout pas que je récupère les éventuels autres nombres contenus dans la cellule. ?
__________________
Le site Mobigeeks.FR est toujours à la recherche d'AUTEURS -> Contactez-nous. |
|
|
|
|
|
#6 (permalink) |
|
Membre Expert
![]() Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
|
C'est bien ce que j'avais compris, c'est pourquoi je "court-circuite" la boucle sur les caractères dès qu'il ne trouve plus de "numéric".
Tu dois juste t'assurer que le nombre commence TOUJOURS à la 6ème place. A+
__________________
N'oubliez pas le si votre problème est solutionné.
|
|
|
|
|
|
#7 (permalink) |
|
Membre Confirmé
![]() |
Super, ça marche impec.
Merci beaucoup.
__________________
Le site Mobigeeks.FR est toujours à la recherche d'AUTEURS -> Contactez-nous. |
|
|
|
|
|
![]() |
||
Récupérer les valeurs numériques d'une cellule
|
||
| Outils de la discussion | |
|
|