Extraction d une base de donnees

VANNES56

XLDnaute Nouveau
Bonjour,

je fais appel à nouveau au forum pour m'aider sur le problème suivant :

j'ai une extraction à faire dans une base de données qui est dans un format Excel, il y a 17 onglets différents.
Dans chaque onglet qui correspond à une ville, il peut y avoir de une à 12 équipes, Il me faut sur un onglet de synthèse extraire seulement pour chaque onglet 3 lignes par équipe (voir le fichier ci joint)
Je n'arrive même pas à convertir le fichier avant de le travailler, puisque les données sont délimitées soit par des espaces , des * ou des !


Voilà en espérant avoir été clair, merci à vous tous pour vos lumières.
A plus.
 

Pièces jointes

  • FICHIER DE BASE.xls
    27 KB · Affichages: 82
  • FICHIER DE BASE.xls
    27 KB · Affichages: 82
  • FICHIER DE BASE.xls
    27 KB · Affichages: 91

JNP

XLDnaute Barbatruc
Re : Extraction d une base de donnees

Bonjour :),
Teste déjà ce code, après avoir rajouté un onglet "Synthèse"
Code:
Sub Récupération()
Dim NombreLigne As Integer, I As Integer, J As Integer, K As Integer, _
    Contenu As String, Tableau
NombreLigne = InputBox("Lignes à traiter ?", "Traitement")
J = 1
With Sheets("BASE 1")
For I = 1 To NombreLigne
    If Left(.Cells(I, 1), 12) = "Total Equipe" Then
        Contenu = .Cells(I, 1)
        Contenu = Replace(Replace(Replace(Replace(Contenu, "Total Equipe", ""), "*", ""), "!", ""), "  ", " ")
        Contenu = Trim(Replace(Replace(Replace(Replace(Contenu, "  ", " "), "  ", " "), "  ", " "), "  ", " "))
        Tableau = Split(Contenu)
        Sheets("Synthèse").Cells(J, 1) = "Total Equipe"
        For K = 0 To 11
            Sheets("Synthèse").Cells(J, K + 2) = Tableau(K) * 1
        Next K
        J = J + 1
    End If
Next I
End With
End Sub
Je pense qu'après, tu vas pouvoir développer la suite sans problème.
Euh, une petite question indiscrète :eek:, ton profil est noté féminin, et tu signes Thierry :confused:, c'est un prénom de femme, Thierry :D?
Bon courage :cool:
 

VANNES56

XLDnaute Nouveau
Re : Extraction d une base de donnees

Bonjour et merci JNP, çà fonctionne.

Je vais esssayer d'intégrer une liste déroulante pour faire un choix de ville
et voir comment on peut éviter de saisir un numéro de ligne pour extraire l'info.

Et je change mon profil ... une petite étourderie

Thierry
 

VANNES56

XLDnaute Nouveau
Re : Extraction d une base de donnees

Salut JNP,

malgré mes recherches comme je n'arrive pas tout seul à adapter la macro, je fais appel à tes larges connaissances.
<je te t'explique comment doit se présenter le tableau final :

l'utilisateur sélectionne le nom de l'entreprise à partir d'une liste déroulante
et les résultats s'affichent aprés avoir cliqué OK sur la bouton pour lancer la macro.

Mais, l'utlisateur ne connaissant pas la disposition du fichier de base il est impossible de lui demander de saisir un numéro de ligne.
Le fichier joint est plus parlant.

Merci
 

Pièces jointes

  • EXTRACTION DONNEES.zip
    19.1 KB · Affichages: 44
  • EXTRACTION DONNEES.zip
    19.1 KB · Affichages: 44
  • EXTRACTION DONNEES.zip
    19.1 KB · Affichages: 44

JNP

XLDnaute Barbatruc
Re : Extraction d une base de donnees

Re :),
J'avais vu ton premier message, mais pas ton message suivant :eek:.
Pour ne pas rentrer le N° de ligne, tu peux passer par l'éternel
Code:
Range("A65536").End(xlUp).Row
Ne pas oublier d'utiliser la même chose avec un .Clear pour nettoyer la feuille de résultat.
Pour le nom de l'équipe
Code:
For I = 1 To Range("A65536").End(xlUp).Row
    If Left(Cells(I, 1), 7) = "Periode" Then
        Contenu = Cells(I, 1)
        For K = Len(Contenu) To 1 Step -1
            If Mid(Contenu, K, 1) = ":" Then
                Contenu = Right(Contenu, Len(Contenu) - K - 1)
                MsgBox Contenu
            End If
        Next K
    End If
Next I
à intégrer intelligement au code existant.
Mais je reste très prudent sur le résultat en alternant le nom de l'équipe avec le total équipe, en général, on extrait soi même avant de le fournir à d'autre instances, l'extraction automatique est toujours risquée :p.
Bonne soirée :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 491
Messages
2 088 889
Membres
103 982
dernier inscrit
krakencolas