Identifiant
XLDnaute Nouveau
Bonjour à tous,
je suis novice sur VBA et surtout à cours d'idée pour faire ce que j'ai besoin ... c'est pour ça que je me permets de venir poster ma requête à la recherche d'une âme charitable ...
Mon problème :
j'ai crée un classeur Excel comportant :
- Une feuille intitulée "bilan" qui permet de faire le récapitulatif des autres feuilles.
- Une feuille intitulée "modele" qui permet d'être la base de mes autres feuilles à créer.
A partir de ma feuille bilan un petit code me permet de créer des nouvelles feuilles sur le modèle ... ben de la feuille modele.
[Sub ajoutfeuille()
Worksheets("modele").Copy After:=Worksheets(ThisWorkbook.Sheets.Count)
End Sub]
Ce que je voudrai c'est créer une fonction mise à jour qui renvoi les données de mes feuilles créées hors la feuille modèle dans la feuille bilan suivant certaine condition.
ci après le code qui ne marche pas ... je pense que cela vient de l'appellation des feuilles où chercher les données mais je ne comprend pas pourquoi
[Sub MAJ()
'
' MAJ Macro
' mise à jour de la feuille bilan
Dim sh As Worksheet
Dim i As Long
For Each sh In Worksheets
If sh.Name <> "bilan" Then
'pour toutes les feuilles autres que la feuille bilan'
If Cells(18, 5) = "oui" Then
Sheets("bilan").Select
i = 0
Do Until (Cells(7 + i, 2) = "")
Cells(7, 2) = sh.Name.Cells(20, 6)
Cells(7, 3) = sh.Name.Cells(10, 3)
Cells(7, 8) = sh.Name.Cells(37, 4)
Cells(7, 9) = sh.Name.Cells(27, 11)
Cells(7, 10) = sh.Name.Cells(40, 4)
Else
Sheets("bilan").Select
i = 0
Do Until (Cells(32 + i, 2) = "")
Cells(32, 2) = sh.Name.Cells(20, 6)
Cells(32, 3) = sh.Name.Cells(10, 3)
Cells(32, 8) = sh.Name.Cells(28, 19)
Cells(32, 9) = sh.Name.Cells(28, 20)
Cells(32, 10) = sh.Name.Cells(28, 21)
Cells(32, 11) = sh.Name.Cells(40, 4)
Cells(32, 12) = sh.Name.Cells(39, 4)
End If
Next sh
End Sub"]
En tous cas merci pour l'aide de ceux qui voudront bien se pencher sur la question
je suis novice sur VBA et surtout à cours d'idée pour faire ce que j'ai besoin ... c'est pour ça que je me permets de venir poster ma requête à la recherche d'une âme charitable ...
Mon problème :
j'ai crée un classeur Excel comportant :
- Une feuille intitulée "bilan" qui permet de faire le récapitulatif des autres feuilles.
- Une feuille intitulée "modele" qui permet d'être la base de mes autres feuilles à créer.
A partir de ma feuille bilan un petit code me permet de créer des nouvelles feuilles sur le modèle ... ben de la feuille modele.
[Sub ajoutfeuille()
Worksheets("modele").Copy After:=Worksheets(ThisWorkbook.Sheets.Count)
End Sub]
Ce que je voudrai c'est créer une fonction mise à jour qui renvoi les données de mes feuilles créées hors la feuille modèle dans la feuille bilan suivant certaine condition.
ci après le code qui ne marche pas ... je pense que cela vient de l'appellation des feuilles où chercher les données mais je ne comprend pas pourquoi
[Sub MAJ()
'
' MAJ Macro
' mise à jour de la feuille bilan
Dim sh As Worksheet
Dim i As Long
For Each sh In Worksheets
If sh.Name <> "bilan" Then
'pour toutes les feuilles autres que la feuille bilan'
If Cells(18, 5) = "oui" Then
Sheets("bilan").Select
i = 0
Do Until (Cells(7 + i, 2) = "")
Cells(7, 2) = sh.Name.Cells(20, 6)
Cells(7, 3) = sh.Name.Cells(10, 3)
Cells(7, 8) = sh.Name.Cells(37, 4)
Cells(7, 9) = sh.Name.Cells(27, 11)
Cells(7, 10) = sh.Name.Cells(40, 4)
Else
Sheets("bilan").Select
i = 0
Do Until (Cells(32 + i, 2) = "")
Cells(32, 2) = sh.Name.Cells(20, 6)
Cells(32, 3) = sh.Name.Cells(10, 3)
Cells(32, 8) = sh.Name.Cells(28, 19)
Cells(32, 9) = sh.Name.Cells(28, 20)
Cells(32, 10) = sh.Name.Cells(28, 21)
Cells(32, 11) = sh.Name.Cells(40, 4)
Cells(32, 12) = sh.Name.Cells(39, 4)
End If
Next sh
End Sub"]
En tous cas merci pour l'aide de ceux qui voudront bien se pencher sur la question