EXCEL-VBA Extraction/Ajout de données
Philindy
-
ShaBoo Messages postés 406 Statut Membre -
ShaBoo Messages postés 406 Statut Membre -
Bonjour,
J'ai dans un tableau, une colonne (env 600 lignes) avec des données de ce type : 12+455 ou 1+000 ou 145+1789, etc...; Comment je peut récupérer les données à gauche du + pour les inscrire sur une autre colonne ?
Dans une autre colonne (env 800 lignes), j'ai des nombres de ce type : 45 ou 156 ou 899A ou 45N, etc..., je voudrais ajouter à gauche de ces nombres les caractères suivants (exemple) : 56 J0 automatiquement en gardant toujours 8 carctères dans la colonne. La différence se ferait avec le nombre de zéro après le J. Je n'arrive pas sous VBA.
Si quelqu'un pouvait m'aider, un grand merci d'avance. Simplement j'aimerais quand je clique sur une cellule "résultat", je vois le résultat et non la formule. MERCI
J'ai dans un tableau, une colonne (env 600 lignes) avec des données de ce type : 12+455 ou 1+000 ou 145+1789, etc...; Comment je peut récupérer les données à gauche du + pour les inscrire sur une autre colonne ?
Dans une autre colonne (env 800 lignes), j'ai des nombres de ce type : 45 ou 156 ou 899A ou 45N, etc..., je voudrais ajouter à gauche de ces nombres les caractères suivants (exemple) : 56 J0 automatiquement en gardant toujours 8 carctères dans la colonne. La différence se ferait avec le nombre de zéro après le J. Je n'arrive pas sous VBA.
Si quelqu'un pouvait m'aider, un grand merci d'avance. Simplement j'aimerais quand je clique sur une cellule "résultat", je vois le résultat et non la formule. MERCI
A voir également:
- EXCEL-VBA Extraction/Ajout de données
- Liste déroulante excel - Guide
- Trier des données excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
Bonjour,
"Comment je peut récupérer les données à gauche du + pour les inscrire sur une autre colonne ?"
Tu peux utiliser la fonction Split :
"Dans une autre colonne (env 800 lignes), j'ai des nombres de ce type : 45 ou 156 ou 899A ou 45N, etc..., je voudrais ajouter à gauche de ces nombres les caractères suivants (exemple) : 56 J0 automatiquement en gardant toujours 8 carctères dans la colonne. La différence se ferait avec le nombre de zéro après le J"
Je n'ai pas tres bien compris ce que tu veux exactement !!!
"Comment je peut récupérer les données à gauche du + pour les inscrire sur une autre colonne ?"
Tu peux utiliser la fonction Split :
Sub test()
Dim a As Variant
a = Split("12+455", "+" )
MsgBox a(1)
End Sub
"Dans une autre colonne (env 800 lignes), j'ai des nombres de ce type : 45 ou 156 ou 899A ou 45N, etc..., je voudrais ajouter à gauche de ces nombres les caractères suivants (exemple) : 56 J0 automatiquement en gardant toujours 8 carctères dans la colonne. La différence se ferait avec le nombre de zéro après le J"
Je n'ai pas tres bien compris ce que tu veux exactement !!!
Merci de ton intêret
Dans une autre colonne (env 800 lignes), j'ai des nombres de ce type : 45 ou 156 ou 899A ou 45N, 6, etc...,
je voudrais ajouter, dans une nouvelle colonne, à gauche de ces nombres (ci-dessus) les caractères suivants (exemple) : 56 J0 automatiquement en gardant toujours 8 caractères dans la colonne. La différence se ferait avec le nombre de zéro après le J.
Je n'arrive pas sous VBA.
Exemple :
56 J0045
56 J0156
56 J045N
56 J0006
Voila, j'espère mettre bien expliquer. MERCI
Dans une autre colonne (env 800 lignes), j'ai des nombres de ce type : 45 ou 156 ou 899A ou 45N, 6, etc...,
je voudrais ajouter, dans une nouvelle colonne, à gauche de ces nombres (ci-dessus) les caractères suivants (exemple) : 56 J0 automatiquement en gardant toujours 8 caractères dans la colonne. La différence se ferait avec le nombre de zéro après le J.
Je n'arrive pas sous VBA.
Exemple :
56 J0045
56 J0156
56 J045N
56 J0006
Voila, j'espère mettre bien expliquer. MERCI
ex : "45"
longueur de "45" = 2
longueur de "56 J" = 4
Nombre de "0" à ajouter :
8 - 4 - 2 = 2
=> "00"
Pseudo code :
PS : à voir si il n'y a pas une méthode de remplissage avec un caractère donné pour un certain nombre de fois en vba. Cela couperait court au Select Case
longueur de "45" = 2
longueur de "56 J" = 4
Nombre de "0" à ajouter :
8 - 4 - 2 = 2
=> "00"
Pseudo code :
Dim iNbTotal as Integer
Dim iNbZero as Integer
Dim sZero as String
Dim sVar as String
Dim sVar2 as String
Dim sVarRes as String
Dim iLngVar as Integer
Dim iLngVar2 as Integer
sZero = ""
iNbTotal = 8
sVar = "45" 'la c'est en dur, il faudra mettre la valeur exacte
sVar2 = "56 J"
iLngVar = Len(sVar)
iLngVar2 = Len(sVar2)
iNbZero = iNbTotal - iLngVar - iLngVar2
Select Case iNbZero
Case 1
sZero = "0"
Case 2
sZero = "00"
Case 3
sZero = "000"
End Select
sVarRes = sVar2 & sZero & sVar
MsgBox sVarRes
PS : à voir si il n'y a pas une méthode de remplissage avec un caractère donné pour un certain nombre de fois en vba. Cela couperait court au Select Case