probleme de boucle dans Excel - VB/VBA/VBS - Programmation
Marsh Posté le 08-03-2007 à 14:36:01
darki666 a écrit : bonjours a tous =) |
Déplaces le j=1 et le changement de feuille
Marsh Posté le 08-03-2007 à 14:42:41
Re,
ma réponse est faite pour t'orienter et non pas pour optimiser ton code.
tu verras que les selects successifs de feuilles perdent un temps considérable
Cordialement
Marsh Posté le 08-03-2007 à 14:55:48
bonjours seniorpapou
je te remercie pour ta réponse ultra rapide ^^
je doit initialiser j dans une boucles ???
je ne voit pas trop ... ^^
je vais essayer de bidouyer
enfin merci beaucoup =)
______________________
______________________
C'est bon j'ai réussi ce que je devait faire!!!!!!!
il t'as fallut 5 minutes bravo ^_^
je pense que je n'aurais pas trouver tout seul =)
merci encor ^^
Marsh Posté le 08-03-2007 à 14:07:51
bonjours a tous =)
je suis etudiant en bts et pour mon stage je doit réaliser un tableaux excel en VBA ^^
je suis exposé a un probleme :
j'ai des flux d'une base de donnée que j'ai importé (code dans la colonne B, libelle dans la colonne C, etc.)
ces flux sont composés de comptes (exemple le flux A010 est composé du compte 70800, etc.)
les comptes sont sur une feuille située dans le meme classeur ^^
donc il faut en VBA que j'insere sous chaque flux tous les comptes corespondants.
le but est de réussir a placer sous la cellule du code flux tous les code compte les concernants..
j'espere m'etre bien exprimé ^^
je vous montre mon code :
Public Sub detailcomptes()
Dim i, j As Integer
Dim flux As String
Dim compte As String
ThisWorkbook.Sheets("Tableau" ).Select
i = 8
j = 1
While i < 90
If Cells(i, 3).Value = "SC" Or Cells(i, 3).Value = "SD" Then 'Si la ligne est bien une ligne de flux
flux = Cells(i, 2).Value
ThisWorkbook.Sheets("Comptes" ).Select 'changement de Feuille : feuille des comptes
While Not IsEmpty(Cells(j, 1).Value) 'parcours de la feuille de comptes
If Cells(j, 3).Value = flux Then 'si la valeurs de la cellule = le flux stocké de la premiere feuille
compte = Cells(j, 1).Value 'stock le compte ds la variable compte
ThisWorkbook.Sheets("Tableau" ).Select 'repasse sur la premiere feuille
i = i + 1 'on se place sur la à ligne insérée
Cells(i, 2).Select 'colonne 2
Selection.EntireRow.Insert 'insertion de la ligne
Cells(i, 2).Value = compte 'la cellule de la nouvelle ligne de la colonne des flux prend le compte et la couleur orange
Cells(i, 2).Interior.ColorIndex = 40
End If
j = j + 1
Wend
End If
i = i + 1
Wend
ThisWorkbook.Sheets("Tableau" ).Select
mon probleme et le suivant :
Seul le premier compte s'affiche sous le flux alors qu'il y'en a au moin une dizaine par flux ...
il doit me manquer une boucle ou alors une variable mal incrémentée ...
aidez moi s'il vou plait sa fait une semaine que j'ai tout essayer je doit plus avoir les idées claires
Message édité par darki666 le 08-03-2007 à 14:15:01