EXCEL-VBA Extraction/Ajout de données
Fermé
Philindy
-
24 oct. 2007 à 12:01
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 - 24 oct. 2007 à 17:17
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 - 24 oct. 2007 à 17:17
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
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
2 réponses
ShaBoo
Messages postés
392
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
5 septembre 2009
50
24 oct. 2007 à 16:31
24 oct. 2007 à 16:31
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
ShaBoo
Messages postés
392
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
5 septembre 2009
50
24 oct. 2007 à 17:17
24 oct. 2007 à 17:17
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