Bonjour à tous,
Je reviens vers vous avec plusieurs question :
Je travaille actuellement sur un petit outil permettant de réaliser des états des lieux.
J'ai réussi (avec un peu d'aide) à créer un outil qui parcourt tous les onglets (dans la démo il n'y en a qu'un mais il est censé en avoir a peu près 100) et si une cellule n'est pas vide dans certaines colonnes cela me remplit un tableau situé dans un onglet résumé.
Je rencontre maintenant plusieurs problèmes :
Dans ce tableau j'aimerais que si une cellule d'une ligne est remplie (qu'elle que soit la cellule) on passe à la ligne suivante. Pour l'instant on passe à la ligne suivante que si une cellule en particulier est remplie.
J'ai gêréla récupération d'information grâce à un Offset. Cependant certaines informations s'appliquent à des plages de données et je dois récupérer sur tous les onglets (ou la condition est remplie) la valeur d'une cellule fixe (B5). Je me retrouve après tous mes essais avec la cellule B5 de l'onglet de destination (et non l'onglet source)
Je vous copie colle le code VBA voir si vous pouvez me donner un coup de pouce :
Je vous joins également la version " démo " du classeur
En vous remerciant,
Je reviens vers vous avec plusieurs question :
Je travaille actuellement sur un petit outil permettant de réaliser des états des lieux.
J'ai réussi (avec un peu d'aide) à créer un outil qui parcourt tous les onglets (dans la démo il n'y en a qu'un mais il est censé en avoir a peu près 100) et si une cellule n'est pas vide dans certaines colonnes cela me remplit un tableau situé dans un onglet résumé.
Je rencontre maintenant plusieurs problèmes :
Dans ce tableau j'aimerais que si une cellule d'une ligne est remplie (qu'elle que soit la cellule) on passe à la ligne suivante. Pour l'instant on passe à la ligne suivante que si une cellule en particulier est remplie.
J'ai gêréla récupération d'information grâce à un Offset. Cependant certaines informations s'appliquent à des plages de données et je dois récupérer sur tous les onglets (ou la condition est remplie) la valeur d'une cellule fixe (B5). Je me retrouve après tous mes essais avec la cellule B5 de l'onglet de destination (et non l'onglet source)
Je vous copie colle le code VBA voir si vous pouvez me donner un coup de pouce :
Je vous joins également la version " démo " du classeur
En vous remerciant,
Code:
Sub Button1_Click()
Dim Sh As Worksheet
Dim DerLig As Long
Dim Cell As Range
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> "Plomberie" Then
' traitement de la feuille
' dernière ligne de la colonne G
DerLig = Sh.Cells(Sh.Rows.Count, 7).End(xlUp).Row
' pour chaque cellule de la colonne G
For Each Cell In Sh.Range("G17:G19")
' si la cellule n'est pas vide
If Cell.Value <> "" Then
' feuille de destination
With ThisWorkbook.Worksheets("Porte entree")
' on copie la valeur de la cellule A vers la feuille de destination
' (dans la première ligne non vide de la colonne A)
.Cells(.Rows.Count, 1).End(xlUp)(2) = ActiveSheet.Range("B5")
.Cells(.Rows.Count, 3).End(xlUp)(2) = Cell.Offset(0, -6)
End With
End If
Next Cell
Set Sh = Nothing
End If
Next Sh
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Pièces jointes
Dernière édition: