Bonjour à tous,
Je rencontre des difficultés sur l'adaptation d'une macro + formule, et sollicite l'avis d'experts.
Ce que je cherche à faire (exemple) : j'ai une feuille appelée "test" qui héberge des tableaux saisis via userform.
dans un soucis d'affichage, j'essaye d'ajouter un bout de code pour qu'au bout de 5 tableaux on "revienne à la ligne" et on recommence une série de 5 tableaux. Un seul tableau à la fois est saisi avec la macro.
j'ai tenté de bidouiller une fonction pour renvoyer la plage d'une cellule dans "la macro qui effectue le reporting du tableau" dans la feuille "test" (appelons la "toto")
Je ne vous cache pas que le code ne fonctionne pas , mais j'espère que le point qui me bloque sera plus compréhensible, et qu'une résolution didactique puisse se présenter.
Précision : le premier tableau démarre en A1 (dimension 24 lignes X 5 colonnes)
Je cherche à comprendre où je fais une erreur, afin d'apprendre à réaliser ce type d'instruction.
Merci par avance aux contributeurs.
Beja
Je rencontre des difficultés sur l'adaptation d'une macro + formule, et sollicite l'avis d'experts.
Ce que je cherche à faire (exemple) : j'ai une feuille appelée "test" qui héberge des tableaux saisis via userform.
dans un soucis d'affichage, j'essaye d'ajouter un bout de code pour qu'au bout de 5 tableaux on "revienne à la ligne" et on recommence une série de 5 tableaux. Un seul tableau à la fois est saisi avec la macro.
j'ai tenté de bidouiller une fonction pour renvoyer la plage d'une cellule dans "la macro qui effectue le reporting du tableau" dans la feuille "test" (appelons la "toto")
Je ne vous cache pas que le code ne fonctionne pas , mais j'espère que le point qui me bloque sera plus compréhensible, et qu'une résolution didactique puisse se présenter.
Précision : le premier tableau démarre en A1 (dimension 24 lignes X 5 colonnes)
Function RechercheTabTest() As Range
Dim Ligne As Integer
Dim Colonne As Integer
With Worksheets("test")
For Ligne = 1 To 240 Step 24
For Colonne = 1 To 50 Step 5
If .Cells(Ligne, Colonne) = "" Then
Set RechercheTabTest = .Cells(Ligne, Colonne)
Exit Function
End If
Next Colonne
Next Ligne
End With
End Function
==> comme le tableau fait une dimension de 24 lignes par 5 colonnes, j'ai tenté d'adapter une fonction pour tester les cellules de chaque première cellule potentielle d'un tableau hébergé, et dès qu'on tombe sur une cellule vide, on doit renvoyer la plage de cette cellule dans la macro ci-après :
Sub toto()
[..] <== partie indépendante de la macro qui fonctionne
Dim MyCell As Range
Set MyCell = RechercheTabTest()
MyCell.Activate
[...] <==== la fin du reporting qui fonctionne très bien
end sub
Je cherche à comprendre où je fais une erreur, afin d'apprendre à réaliser ce type d'instruction.
Merci par avance aux contributeurs.
Beja
Dernière édition: