Extraction chiffre d'un texte avec zéro - vba

chtite24

XLDnaute Nouveau
Bonjour,

Voici mon problème : dans une colonne, j'ai une suite de référence (Ap_Ref) du style patatePC0026, patatePC0027 ...
Dans un premier temps je veux extraire les chiffres de la référence -y compris les zéro- (stockés dans ma variable Ref) de la cellule que j'ai choisi puis, lui donner la valeur de référence +1 et enfin rechercher toutes les autres références supérieure a celle ci pour y ajouter +1.
Je m'explique,
ma cellule choisi contient par exemple patatePC0025,
ma macro me créée une ligne en dessous de cette référence, dans laquelle je veux afficher patatePC0026,
du coup, la référence en dessous qui été "patatePC0026", doit passer "patatePC0027", et ainsi de suite pour toutes les références en dessous de celle que j'ai sélectionnée...

Je ne sais pas si je suis bien claire...

Voici mon début de code, mais déja je bloque sur comment garder les zéro...

Code:
Ap_Ref = Liste_Reference      'je stock dans Ap_Ref, ma reference choisie dans ma combobox
Sheets(feuille).Select
Sheets(feuille).Cells.Find(What:=Ap_Ref).Select     'recherche la reference dans la feuille
    
num_ligne = Sheets(feuille).Cells.Find(What:=Ap_Ref).Row + 1    'numero de ligne en dessous de la reference
Sheets(feuille).Rows(num_ligne).Insert Shift:=xlDown                'ajoute une ligne 

For i = 1 To Len(Ap_Ref)            'boucle pour extraire les chiffres de la reference
     If Mid(Ap_Ref, i, 1) >= "0" And Mid(Ap_Ref, i, 1) <= "9" Then
            chaine_nombre = chaine_nombre & Mid(Ap_Ref, i, 1)
     End If
Next i

Mais le souci c'est que si ma référence est patatePC0026, il me renvoi juste 26, alors que je voudrais 0026

Et après je dois recomposer ma réference : patatePC & chaine_nombre+1

Ensuite, ajouter +1 a toutes les references dont les chiffres sont supérieurs a chaine_nombre



Je remercie d'avance celui qui pourra m'aider.
N'hésitez pas à me poser des questions si je ne suis pas très claire... ^^
 

PrinceCorwin

XLDnaute Occasionnel
Re : Extraction chiffre d'un texte avec zéro - vba

Bonjour,

Si le chiffre ajouté au texte est toujours d'une longeur de 4 ca simplifie grandement le probleme.
Dans ce cas :
Code:
'Convertion des 4 derniers caractères en nombre
leNouveauNombre = CInt(Right(ap_ref, 4))+1
'concatene les premiers caractères du texte avec le nouveau nombre formaté sur 4 chiffres
LaNouvelleReference = Left(ap_ref, InStr(ap_ref, "0") - 1) & Format(leNouveauNombre, "0000")

Voilà, en espérant que ceci puisse te venir en aide

Bonne continuation
 

JNP

XLDnaute Barbatruc
Re : Extraction chiffre d'un texte avec zéro - vba

Bonjour le fil :),
Pourquoi ne pas utiliser un format personnalisé
Code:
"patatePC"0000
dans tes cellules, comme cela, tu n'as plus que des chiffres dedans, et ce sera plus facile d'additionner 1 :rolleyes:...
En plus, en utilisant une petite formule et un vrai tableau 2007, l'insertion de la ligne modifiera directement les lignes en dessous, voir PJ :p...
Bonne suite :cool:
 

Pièces jointes

  • Chtite24.xlsm
    15 KB · Affichages: 88
  • Chtite24.xlsm
    15 KB · Affichages: 97
  • Chtite24.xlsm
    15 KB · Affichages: 110

Discussions similaires

Statistiques des forums

Discussions
312 487
Messages
2 088 823
Membres
103 971
dernier inscrit
abdazee