demande d'aide sur une boucle

afroweb

XLDnaute Occasionnel
bonjour!
voici mon problème j'ai un soucis j'ai une base de données qui comporte toutes les données que j'ai saisie(poste dépense,lot,entreprise,montant)
alors maintenant je veux faire un tableau qui recap tout
par poste dépense; je m'explique je veux faire une recherche(une boucle qui cherche dans la base les données si par exemple poste depense =assur
je met sous assur tout les lot et entreprise qui ont pour poste depense =assur dans la feuille recap
merci
 

Pièces jointes

  • Classeur1.xls
    20.5 KB · Affichages: 56
  • Classeur1.xls
    20.5 KB · Affichages: 59
  • Classeur1.xls
    20.5 KB · Affichages: 61
Dernière édition:

afroweb

XLDnaute Occasionnel
Re : demande d'aide sur une boucle

merci pascal
mais une boucle avec des si pouraitpas pu faire l'affaire?
par exmeple

si ligne A:A qui contient poste depense est different de vide je parcours (dans la feuille de bd) puis je compare a avec le titre de la feulle2(recap) et range les lot et entreprise concernat sinon je fais un autre test
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : demande d'aide sur une boucle

Re

Oui bien sûr que c'est possible de le faire

Mais la question est : faut-il inventer quelque chose qui existe déjà ? Car ce que tu as mis en exemple est typique de ce que fait un TCD
 

afroweb

XLDnaute Occasionnel
Re : demande d'aide sur une boucle

merci pour ton aide
mais y'a pas moyen de faire avec un macro et une boucle car je voulais que sa soit automatique lorsque je saisie des donnée dans la base que ca se reporte sur la feuille recap


bonne digestion
 

afroweb

XLDnaute Occasionnel
bonjour voila en fichier joint ce que je demande en fait : dans la feuille bd losque le poste depense,l'entreprise et lot est egale ceux de feuille avenat je met dans dans la feuille recap sous le poste depense correspondant le lot et l'entreprise et aussi le montant initial(celui de la feuill Bd) et le nombre d'avenat sous les date correspond
 

Pièces jointes

  • Copie de AfroWeb.xls
    36.5 KB · Affichages: 55

afroweb

XLDnaute Occasionnel
Re : demande d'aide sur une boucle

en effet je veux savoir comment faire pour parcourir une colonne
c'est dire que par exemple si =si(bd!A:A il trouve une cellule contenant foncier;alors il recopie dans recap tout les foncier;rien) a un mot il me recpie toutes les valeur de celulle contenant foncier a le recopie dans les cellule de recap
 

Gael

XLDnaute Barbatruc
Re : demande d'aide sur une boucle

Bonjour à tous,

La solution du TCD qui t'a été proposée est vraiment la plus simple et me paraît bien répondre à ton problème.

Pour la mise à jour, il suffit de définir une plage variable de façon à ce que tout ajout soit pris en compte dans le TCD. Une macro très simple permet de faire automatiquement la mise à jour si tu les soughaites.

L'avantage du TCD est aussi de pouvoir modifier facilement l'ordre des éléments ou le détail des affichages.

Ci-joint une autre présentation dans laquelle j'ai rajouté le mois pour ventiler les paiements.

@+

Gael
 

Pièces jointes

  • AfroWeb_V1.xls
    37 KB · Affichages: 55

Gael

XLDnaute Barbatruc
Re : demande d'aide sur une boucle

Re,

Ci-joint une version avec les données de la feuille avenant définies comme plage variable (si tu ajoutes des données, elles seront prises en compte automatiquement) et un bouton avec une macro (2 lignes) pour actualiser le TCD.

Le mieux est d'utiliser le TCD déjà créé. tu fais un clic droit sur le TCD et tu choisis "Assistant" puis tu coches "Disposition". Cela te montre la répartition des champs en ligne et en colonne que tu peux changer avec des glisser/déplacer.

Pour la mise en forme, j'ai utilisé format mise en forme automatique et choisi un modèle.

La base a été créée avec insertion - nom - définir et la formule:

Code:
=DECALER(avenant!$A$1;;;NBVAL(avenant!$A:$A);6)

C'est à dire que l'on part de la feuille "Avenant" cellule A1 sur une hauteur égale au nombre de valeurs de la colonne A et sur une largeur de 6 colonnes.

Fais un test en rentrant des nouvelles valeurs et en mettant des mois différents puis tu cliques sur le bouton Actualiser.

@+

Gael
 

Pièces jointes

  • AfroWeb_V2.xls
    62 KB · Affichages: 57

afroweb

XLDnaute Occasionnel
Re : demande d'aide sur une boucle

personne pour m'aider?
j'ai trouver une formule sur le forum de ce genre

'ai trouvé ce code qui m'interesse beaucoup, mais est-ce que quelqu'un pourrait me l'expliquer (simplement) afin que je puisse l'adapter à mon tableau.
Bonne méthodologie !

Private Sub Worksheet_Change(ByVal Target As Range)
è chaque modification de la feuille liée au module, cette macro se lance, et définit Target comme étant l'ensemble des cellules ayant subi une modification.
Dim cel As Range 'déclare la variable cel
Dim dest As Range 'déclare la variable dest
Les deux variables sont déclarées en tant que plage de cellule
For Each cel In Range("E2:E65536")
Pour chaque cellule de la plage E2:E65536
Trop gourmand en temps : il vaut mieux limiter les ligne de E à celles existant :
For Each cel In Range([E2], [:E65536].end(xlup)) par exemple
If cel.Value = "libre" Then
Si la valeur de la cellule testée est le mot "libre" alors
Set dest = Sheets("Analyse").Range("B65536").End(xlUp).Offset (1, 0)
Les plages ont besoin de l'instruction SET pour être définies
l'instruction définit dest comme suit :
Sheets("Analyse") : feuille de nom "Analyse"
Range("B65536").End(xlUp) : 1re cellule non-vide de B, en partant de la dernière ligne (65536) et en allant vers le haut = dernière cellule non-vide de la colonne B
Offset (1, 0) décaler d'uneligne, 0 colonne
Dest = Première cellule vide après la dernière cellule non-vide de B de la feuille "Analyse"
cel.EntireRow.Resize(, 255).Copy Destination:=dest 'copy la ligne de la cellule
Même style d'instruction : copier (copy) la ligne entière de la cellule testée (cel.EntireRow) retaillée à 255 (Resize(, 255)) à partir de la plage dest : une ligne faisant 256 colonnes, on est obligé de recadrer la longueur pour qu'elle puisse commencer en B
End If 'fin de la condition
Next cel 'prochaine cellule de "ta_plage"
sans commentaire
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 511
Messages
2 089 172
Membres
104 056
dernier inscrit
fxcas