cs_sigma17
Messages postés1Date d'inscriptionlundi 10 novembre 2008StatutMembreDernière intervention23 février 2012
-
16 févr. 2012 à 11:42
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
16 févr. 2012 à 12:28
salut à tous,voici un code qui me permet de faire des tris dans une feuille et de récupérer les résultats pour les poster dans des cellules précises d'une autre feuille excel,le tout dans le même classeur.je suis amené à écrire plusieurs code de ce genre car car j'ai plusieurs feuilles "mois" que j'utilise pour remplir la feuille"gestion"
code:
Private Sub CmdButton7_Click()
Dim y As Long, e As Long, f As Long, g As Long, h As Long
Dim i As Integer, test As Boolean, sh As Worksheet
'test = False
For Each sh In ThisWorkbook.Worksheets
test = False
If sh.Name = "Aout" Then
test = True
Exit For
End If
Next sh
If test = True Then
'renseignement de la colonne de Aout de le feuille gestion
With Sheets("Aout")
For i = 1 To 300
y = Sheets("Aout").Cells(i, 1) 'on récupère la valeur du numéro de compte
e = Sheets("Aout").Cells(i, 3) 'récupère la valeur de la colonne mvt débit
f = Sheets("Aout").Cells(i, 4) 'récupère la valeur de la colonne mvt crédit
g = Sheets("Aout").Cells(i, 5) 'récupère la valeur de la colonne solde débit
h = Sheets("Aout").Cells(i, 6) 'récupère la valeur de la colonne solde crédit
If y = "411105" Then
Sheets("gestion").Cells(7, 14) = e
End If
If y = "411104" Then
Sheets("gestion").Cells(8, 14) = e
End If
If y = "411410" Then
Sheets("gestion").Cells(9, 14) = f
End If
If y = "411107" Then
Sheets("gestion").Cells(11, 14) = g
End If
If y = "411108" Then
Sheets("gestion").Cells(12, 14) = g
End If
If y = "443" Then
Sheets("gestion").Cells(14, 14) = f
End If
If y = "601101" Then
Sheets("gestion").Cells(19, 14) = e
End If
If y = "601102" Then
Sheets("gestion").Cells(20, 14) = h
End If
If y = "601104" Then
Sheets("gestion").Cells(21, 14) = h
If y = "445" Then
Sheets("gestion").Cells(25, 14) = f
Next i
End With
End If
End Sub
ma question est de savoir comment m'y prendre si les feuilles ne se trouvent pas dans le même classeur,mais les classeurs contenant les feuilles sont dans le même répertoire?
aussi si vous pouvez me donnez des astuces pour optimiser mon code,
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209 16 févr. 2012 à 12:28
Bonjour,
- commence par comprendre que VBA n'est pas VB6
Tu aurais du ouvrir ta discussion dans la section Langages dérivés > VBA (ton langage de développement) ! Ce n'est pas un luxe !
- ce n'est pas non plus un luxe que de présenter ici son code entre les balises prévues à cet effet (balises code - 3ème icône en partant de la gauche)
Remontre ton ode entre balises, donc, mais auparavant :
Regarde dans ton aide VBA ce qu'est l'instruction select case et utilise-la en lieu et place de toutes ces expressions conditionnelles sur la valeur de y !
On ne verra le reste qu'après cela.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient