Extraction d’infos et traitement d une BDD

vivi4

XLDnaute Junior
Forum, bonjour !

Ceci est un casse tete pour moi et je remercie par avance toutes les personnes qui pourront m’aider !

A partir d’une BDD ( feuille « bdd » ), je souhaite extraire certaines infos ( listées sur la feuille « lot1 »).
Jusque là, pas trop compliqué ! :D

Ensuite je souhaiterais sélectionner dans ce lot1, qu’une série de personnes que j’aurais au préalable indiquée ( exemple sur la feuille « lot1 » )

Et pour aromatiser la selection ( !), je voudrais ajouter toujours sur cette même feuille « lot1 », des sous totaux par nom.

Et enfin, j’aimerais que cette liste soit triée par assuré, émission et solde.

Je souhaiterais ainsi construire plusieurs feuilles où j’aurais établit des groupes de noms. Par ailleurs, pour n’oublier personnes, je voudrais savoir si c’est possible de regrouper dans un autre onglet « tous, sauf les noms qui sont déjà dans les lots 1, 2,3, 4,5 …..)

Je ne sais pas si c’est une info importante, mais je préfère la signaler : la BDD n’est qu’un échantillon et le nombre de lot sur le fichier joint n’est pas exhaustifs. Par ailleurs, le nombre de noms par lot n’est pas encore défini ( il peut être de 5/10/12/25/50/ en fait je souhaite ajouter ou retirer autant de noms que désirés…. )

J’espère que ce projet intéressera nombre d’entre vous !:rolleyes:

Vivi4, la novice !

PS : je commence juste à apprendre la fonction sommeprod et ne connais que tres peu de chose sur les macros !! :confused:
 

Pièces jointes

  • TEST - 20070524145523.zip
    13.4 KB · Affichages: 177

vivi4

XLDnaute Junior
Re : Extraction d’infos et traitement d une BDD

Re JM
Re tout le monde,

Si les critères de recherche ne donnent rien, je préfererais qu il n y ai rien !
je pense que c'est le plus simple, non ?!!

J'ai continué à faire des tests et je me suis apercu qu il y avait un soucis : certains noms selectionnés dans les lots, apparaissent dans la feuille reste également...( exemple nom GMA ou encore ASNA ). J'ai fait le test sur une bdd plus grosse et l'anomalie se répéte sur encore d'autres noms ...

voili voilou, je continue les tests et continue à te remercier vivement !!
bonne soirée
vivi
 

ChTi160

XLDnaute Barbatruc
Re : Extraction d’infos et traitement d une BDD

Re Vivi
Re le Fil
Bonsoir le Forum

ViVi (oui oui !!!) chez moi aussi j'ai eu ce genre de problèmes ,cela est du, au fait que des noms ne sont pas identiques lol ,il peut y avoir des espaces devant le nom ce qui fait que lorsque l'on recherche ,Eh ben le nom n'est pas considéré comme identique donc pas retenu Lol :p
vérifie et si cela se confirme, je regarderai ce que je peux faire pour remédier à cela
pour ce qui est de la demande je regarde cela dès que possible (effacement de la listBox si pas de correspondance)

Bonne fin de Soirée
 

vivi4

XLDnaute Junior
Re : Extraction d’infos et traitement d une BDD

bonjour JM, bonjour le forum,

alala, tu as raison ! ca ce confirme et c'est embetant ca !... SI jamais tu as une idée, n'hésite pas !:D lol

Autrement, aurais tu la gentillesse d'ajouter un bouton impression sur le traitement ?
PAr ailleurs, nous avions discuté d'un éventuel tri par ordre alphabétique sur la feuille reste, est il possible ?

De mon côté, je continue à tester.

Merci JM et passe une bonne journée
amicalement
vivi
 

vivi4

XLDnaute Junior
Re : Extraction d’infos et traitement d une BDD

Re re et Re !!
J'ai également un dépassement de capacité qui m'ai signalé sur les traitements.

Je continue à chercher !!
et je ne comprends pas bien ces histoires de noms qui ne sont pas trouvés, car la structure est la meme ( chiffre-espace-lettre ). Sur la feuille reste, ils ont bien été trouvés !
Je teste, je teste !!

a bientot
 

Bebere

XLDnaute Barbatruc
Re : Extraction d’infos et traitement d une BDD

bonjour Vivi,Jean-Marie

le schmilbick avance,les changements annotés par 'ajouter

Private Sub CommandButton3_Click()
'ajouter
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False

' le code

'ajouter
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With

End Sub
End With

Private Sub UserForm_Initialize()
Dim Ligne As Integer, Cel As Range

Ok_Modif = True
Set Col_Lot = New Collection
Set Col_Assures = New Collection
Nbr = 0
X = -1
With Usf_Traitement_Lots
.ComboBox1.Clear
.ComboBox1.Enabled = True
.Lbl_Transferable.Caption = "Liste à Transférer"
End With

Test_Change = False 'ici on met le changement de la listebox à false
'ajouter
Application.ScreenUpdating = False

With Worksheets("BDD")
DerLgn = .Range("B65536").End(xlUp).Row

'ajouter ces 3 lignes enlève espaces colonne b
'corrige peut être les erreurs signalées par Vivi et confirmée par Jean-Marie

For Each Cel In .Range(.Cells(5, 2), .Cells(DerLgn, 2))
Cel = Trim(Cel)
Next Cel

Tabtemp = .Range(.Cells(5, 2), .Cells(DerLgn, 2))
'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Set Col_Assures_Base = Compte_Col_Assures_Base(Tabtemp) 'ici on récupère les assurés
Set Col_Assures_Base = Tri_Liste_Col(Col_Assures_Base) 'ici on les tri
'MsgBox Col_Assures_Base.Count
'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

For Each Ws In Worksheets
If Left(Ws.Name, 3) = "Lot" Then
Usf_Traitement_Lots.ComboBox1.AddItem Ws.Name
End If
Next
End With

Set Col_Assures = New Collection

With Worksheets("Reste")
DerLgn = .Range("A65536").End(xlUp).Row + 1
If DerLgn = 8 Then GoTo suite

TabRecup_Reste = .Range(.Cells(8, 1), .Cells(DerLgn, 1)).Value


For Ligne = 1 To UBound(TabRecup_Reste, 1)
On Error Resume Next
If Trim(TabRecup_Reste(Ligne, 1)) <> "" And Left(Trim(TabRecup_Reste(Ligne, 1)), 2) <> "So" Then
Col_Assures.Add Trim(TabRecup_Reste(Ligne, 1)), CStr(Trim(TabRecup_Reste(Ligne, 1)))
End If
On Error GoTo 0
'Err.Clear
Next

Set Col_Assures = Tri_Liste_Col(Col_Assures)


If Col_Assures.Count > 0 Then

With Usf_Traitement_Lots
With .ListBox1
.Clear
For Ligne = 1 To Col_Assures.Count

.AddItem Col_Assures(Ligne)
Next
End With
.Label1.Caption = "Liste des Assuré(es) de la feuille Reste"
Tabtemp_Tri() = .ListBox1.List

End With


End If
Ok_Modif = False
End With
suite:

If Ok_Modif = True Then Tri_Liste Tabtemp, False

With Usf_Traitement_Lots

.Label4.Caption = ""
.ComboBox1 = ""

With .ListBox2
.Clear
.MultiSelect = fmMultiSelectExtended
.ControlTipText = "MultiSélection Possible"
End With
With .ListBox1
.ColumnCount = 1
.MultiSelect = fmMultiSelectExtended
.ControlTipText = "MultiSélection Possible"
End With
.lblCompteGauche.Caption = "Nombres d'Assuré(es) Restant(es) : " & CStr(.ListBox1.ListCount)
.lblCompteDroite.Caption = "Nombres d'Assuré(es) Sélectionné(es) : " & CStr(.ListBox2.ListCount)
.Label4.Caption = "Nombre d'Assuré(es) dans les Feuilles Lots : " & CInt(Col_Assures_Base.Count) - CInt(.ListBox1.ListCount) & _
" Sur " & CInt(Col_Assures_Base.Count)
End With
Ok_Modif = False
Set Col_Assures = Nothing
'ajouter
Application.ScreenUpdating = True
End Sub

à bientôt
 

ChTi160

XLDnaute Barbatruc
Re : Extraction d’infos et traitement d une BDD

Salut Vivi
Salut Bebere
merci pour ta participation

Quelques réponses
J'ai également un dépassement de capacité qui m'ai signalé sur les traitements.
cela est surement du à la déclaration d'une variable qui pour l'exemple suffit ,mais qui appliqué à ta base ne correspond plus pas grave il faut que je sache quelle valeur est concernée
peux tu me dire le nombre de ligne de ta base de donnée
exemple:
Byte
Les variables Byte sont utilisées pour stocker des nombres entiers positifs compris entre 0 et 255.

Integer
Données contenant des nombres entiers stockés, de 2 octets, compris entre -32 768 et 32 767.

Long
Nombre entier codé sur 4 octets (32 bits) et dont la valeur est comprise entre -2 147 483 648 et 2 147 483 647.


et je ne comprends pas bien ces histoires de noms qui ne sont pas trouvés, car la structure est la meme ( chiffre-espace-lettre ). Sur la feuille reste, ils ont bien été trouvés !

la feuille Reste ne teste rien puisqu'elle correspond à ce qui n'a pas été mis dans les feuilles Lot Lol
une explication pour pouvoir trier les données j'ai du récupérer les noms
100046161 G M A je récupére G M A si au bout de ce mot tu as un espace cela représente 6 caracteres Trois lettres et Trois espaces

100046365 TCHIBANDA Albert je récupère TCHIBANDA Albert 16 caracteres
la fonction Trim supprime les espaces éventuels (Uniquement) au deux bouts d'un mot Trim ( G M A ) avec un espace au bout renverra G M A sans espace soit 5 caracteres et plus 6
je vais regarder ce que je peux faire dit moi ou tu a un dépassement de capacité
Merci D'avance
PS pour tester tu peux essayer pour voir tu mets la formule =NBCAR(et l'adresse de la cellule ou ce trouve le mot que tu veux tester) ensuite tu ajoutes un espace avec la barre d'espace du clavier au bout du mot et tu verras le résultat sera plus 1 caractere
Bonne fin de journée
 

vivi4

XLDnaute Junior
Re : Extraction d’infos et traitement d une BDD

Hello,

Merci egalement à Bébere pour sa contribution !

Effectivement, c'est maintenant plus clair pour les caractères...bonne explication !

JM,
Pour répondre à tes questions : les nombres sont LONG ( voir très long ! lol ! ). Je travaille en monnaie de singe, donc les milliards ne sont pas rares !! lol
Quand à la BDD, elle comprend pour l'instant 600 lignes, mais pourra atteindre sans problème le(s) millier(s) de lignes...( aie ? ou pas aie ?!! )

Bonne soirée également à vous 2 et au forum
amicalement
vivi
 

ChTi160

XLDnaute Barbatruc
Re : Extraction d’infos et traitement d une BDD

re Vivi
re le fil

Je suis en Train Lol , de voir pour le tri des données de la feuille Reste

pour ce qui est du nombre de données de la Base je pense que cela ira une feuille excel contient 65536 lignes ca devrait aller lol

Bonne nuit
 

ChTi160

XLDnaute Barbatruc
Re : Extraction d’infos et traitement d une BDD

Salut Vivi
Bonjour le fil
Bonjour le Forum


arffff j'ai merdé Lol j'ai perdu un temps fou à chercher pourquoi j'avais un message d'erreur 6 dépassement de capacité . Eh ben c'était du au fait que deux cellules contenant des chiffres étaient au format Date ############## je n'y ai pas prété attention et ben j'y ai passé des heures Lol le format modifié plus d'erreur lors du chargement de mon tableau

bon en pièce jointe le fichier avec la feuille Reste triée

il faut que je sache comment on Imprime Lol car les feuilles Lots qui contiennent beaucoup de données cela ne va pas tenir sur une seule feuille (on va voir ce que l'on peut faire lol)

Le Fichier :

Bon on va aller bosser Lol
Bonne journée
 

vivi4

XLDnaute Junior
Re : Extraction d’infos et traitement d une BDD

Bonjour Jean Marie,
Tu es quand meme balaise !! tu as réglé le problème des noms ( rappelle toi, ceux qui ne voulait pas s'afficher dans les lots mais qui s'affichaient sur la feuille reste... ) !!! chapeau !

concernant le dépassement de capacité, j'ai tjrs le pb quand je charge une nouvelle bdd. Fort de ta remarque et du temps que tu as consacré (arrffff comme tu le dit si bien ! ), j'ai essayé de transformé les cellules en nombre : j'ai fait un copié/collage spécial ( multiplication ) mais ca n'a rien donné ...

Pour l'impression, l'ideal, c'est de pouvoir faire tenir toutes les colonnes en une seule largeur et pour le reste peu importe le nombre de pages en longueur. Il faudrait juste que les intitulés de colonnes soient reproduites à chaque nouvelle page (plus facile à exploiter !! )

passe une bonne journée également et à bientot
vivi
 

vivi4

XLDnaute Junior
Re : Extraction d’infos et traitement d une BDD

ahhh, j'ai une autre remarque !
sur le lot 2, il y a besoin de faire plusieurs fois le transfert pour que le tri par ordre alphabetique ce fasse.
Problème que je n'ai pas constaté sur les autres feuilles ...
 

ChTi160

XLDnaute Barbatruc
Re : Extraction d’infos et traitement d une BDD

Salut Vivi
Bonsoir le fil
Bonsoir le Forum

je viens de modifier une procédure qui apparemment règle le problème du tri ,qui n'était pas spécifique au Lot2 Lol (je la joindrai demain après d'autres tests)

pour ce qui est de ton dépassement de capacité (erraur 6) il faudrait que je sache ou celà ce passe, ce n'est peut être pas grand chose mais comme celà je ne peux pas grand chose Lol

Quand je parle de cellule au format date alors que la valeur était un Chiffre c'était en colonne Police regarde si tu n'as pas dans ta base des valeurs d'erreur "#########" ca par exemple

sinon on verrat lol

Bonne nuit
je me lève tôt demain matin et donc je verrai demain après midi Lo
 

vivi4

XLDnaute Junior
Re : Extraction d’infos et traitement d une BDD

Jean Marie bonjour,
bonjour forum,

Je n'ai constaté que l'erreur 6 sur la feuille reste du traitement, mais je dois continuer à faire des tests sur les autres feuilles.

de mémoire, je n'ai pas de problème au niveau des cellules (######), je vais passer au bureau cet apres midi pour vérifier et te tiens au courant bien évidemment
bon courage pour le boulot
vivi
 

vivi4

XLDnaute Junior
Re : Extraction d’infos et traitement d une BDD

Alors,
après vérification :
- aucune valeur d'erreur dans la bdd; rien d'apparent !
- finalement, l'erreur code 6 se reproduit dans les autres feuilles du traitement. Pour faire le test, j'ai basculé toute la bdd sur chacune des feuilles et chacun leur tour ( évidemment !! lol ). Résultat : tjrs le meme message d'erreur dans le traitement. Peut etre que le pb provient du nombre de lignes, plutot que du format de certaines cellules ..:confused:

Egalement fait une modification des cellules "colonne police", pour les transformer en nombre : cela ne change rien...:confused: :confused:

a plus tard
vivi
 

Discussions similaires

Réponses
12
Affichages
279

Statistiques des forums

Discussions
315 109
Messages
2 116 306
Membres
112 716
dernier inscrit
jean1234