Extraite des valeurs avec une macro

  • Initiateur de la discussion Initiateur de la discussion margaux33
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

margaux33

Guest
Extraire des valeurs par une macro

Je reçois régulièrement des fichiers selon feuille 1 mais avec d’autres informations dans les colonnes (pas toujours au même endroit) – Nombre de ligne imprévisible.
Je cherche une macro extraire : la première valeur à gauche, puis les deux premières à gauche… comme feuille 2. (il faut les valeurs et non les formules gauche (… ;1)…
Il faudrait cependant qu’une boîte de dialogue me demande la colonne à éclater.
Je coince pour automatiser le tout.
Amicalement
 

Pièces jointes

Re : Extraite des valeurs avec une macro

Bonsoir margaux33,

Ton truc ressemble à ce que l'on appelle un plan comptable, notamment tes déclinaisons en feuille2.

Pour le reste, et pour l'instant, j'ai beau lire et relire.... car si tu ne veux pas de =GAUCHE(Etc.etc...), je ne vois pas....

Bonne soirée, et à en savoir un peu plus.

Jean-Pierre
 
Re : Extraite des valeurs avec une macro

Bonsoir
Je ne suis pas contre la formule gauche(...) mais il faudrait qu'elle soit dans la macro.
Je veux éviter d'obtenir la formule dans les cellules. Seulement les valeurs extraites sur toutes les lignes dont ne ne connais le nombre a priori.

Cordiales salutations
 
Re : Extraite des valeurs avec une macro

Bonjour Margaux33 et Jeanpierre 🙂,
Si j'ai tout compris, voici le code que je te propose :
Code:
Sub Eclatement()
Dim Colonne As Integer, Lignes As Integer, I As Integer
Colonne = CInt(InputBox("N° de la colonne à traiter ?", "Informations nécessaires"))
If Colonne <= 0 Then Exit Sub
Lignes = CInt(InputBox("Nombre de lignes à traiter ?", "Informations nécessaires"))
If Lignes <= 0 Then Exit Sub
For I = 1 To Lignes
    Sheets("Feuil2").Cells(I, 1) = Sheets("Feuil1").Cells(I, Colonne)
    Sheets("Feuil2").Cells(I, 2) = CInt(Left(CStr(Sheets("Feuil1").Cells(I, Colonne)), 1))
    Sheets("Feuil2").Cells(I, 3) = CInt(Left(CStr(Sheets("Feuil1").Cells(I, Colonne)), 2))
    Sheets("Feuil2").Cells(I, 4) = CInt(Left(CStr(Sheets("Feuil1").Cells(I, Colonne)), 3))
    Sheets("Feuil2").Cells(I, 5) = CInt(Left(CStr(Sheets("Feuil1").Cells(I, Colonne)), 4))
    Sheets("Feuil2").Cells(I, 6) = Sheets("Feuil1").Cells(I, Colonne + 1)
Next I
End Sub
A te lire 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
239
Réponses
4
Affichages
585
Retour