BANZAI64, j'ai besoin de ton aide STP

Bonjour Banzai64,

J'ai repris la macro que tu avais fait ou il fallait cliquer sur les formes qui représentées des régions.

Selon la région , la macro renvoyer les données.

Si tu vois le fichier, cela te parleras.

Mon souci :

Les données sont sur la feuille données. J'ai supprimé les données pour que la base de données soit vierge.

mais dès que je supprime la ligne 6, cela fait planter la macro.

Je n'arrive pas à voir dans la macro, ce qu'il faut changer.

Car il faudrait que je puisse faire en sorte de pouvoir avoir la base de données vide sans que cela bloque la macro.

si tu as un moment, je te remercie,

j'ai passé du temps pour tenter de résoudre le problème, mais le code est trop compliqué pour moi pour résoudre le problème.

Bonjour

Cela serait bien(obligatoire) que tu modifies le titre

Sinon j'ai effacé les données de la page "Données"

Pas de plantage sauf le message (voulue) "Aucune donnée dans la page "Données""

Alors je fait quelque chose de mal/bien mais je n'ai aucun plantage

J'ai vu qu'il fallait supprimer ligne du tableau et la effectivement plantage

A vérifier si la "réparation" est valable

Bonsoir Banzai64,

La suppression de la ligne 6 et 5 est maintenant possible sans que cela perturbe la macro.

C'est vrai que le message est bien lorsqu'il n'y a pas de données, mais le problème, c'est que lorsque l'on veut rentrer la première ligne de la source de donnée, il n'arrête pas de mettre le message à chaque cellule.

L'important est que cela ne fasse pas planté la macro, si on clique sur une forme, et qu'il n'y a pas de données.

C'est pour cela que je pense que je vais le mettre de côté.

Par contre, j'aimerai bien savoir ce qu'il a fallu modifier, car j'ai cherché un moment dans le code. Il faut que je comprenne ou cela coincé au niveau du code.

Après, je ne voulais pas trop chercher à modifier des choses, dont je ne comprenais pas, car c'est claire qu'ensuite plus rien n'aurait fonctionné.

Désolé pour le titre du forum,

Mais encore, une fois merci beaucoup, et il faut me copier les lignes ou le code à changé

Merci à toi Banzai64

Bonjour

Tu vas vite le voir dans le code

J'ai laissé les anciennes lignes

Je reprends ici les lignes modifiées

        If IsArray(T1) Then
          NombreLigne = UBound(T1)
        Else
          NombreLigne = 1
        End If

        F1.Cells(2, Col(I)).Resize(NombreLigne) = T1              ' Recopie ces données dans la page "TAB"
        F1.Cells(2, Col(I) + 2).Resize(NombreLigne, 3) = T2       ' Idem
        F1.Cells(2, Col(I) + 1).Resize(NombreLigne) = NomCadre    ' Note le secteur
        F1.Cells(2, Col(I) + 3).Resize(NombreLigne).NumberFormat = "0%"
        F1.Cells(2, Col(I) + 4).Resize(NombreLigne).HorizontalAlignment = xlCenter
        F1.Cells(2, Col(I) + 3).Resize(NombreLigne).HorizontalAlignment = xlCenter
        ' Tri des données
        F1.Cells(2, Col(I)).Resize(NombreLigne, 5).Sort key1:=F1.Cells(2, Col(I) + 4), order1:=xlAscending, dataoption1:=xlSortNormal, Header:=xlNo
        ' Recherche de la dernière ligne valide (colonne des montants)
        NbLg = F1.Cells(Rows.Count, Col(I) + 2).End(xlUp).Row
        ' On efface après cette ligne jusqu'à .....
        F1.Cells(NbLg + 1, Col(I)).Resize(NombreLigne, 5).ClearContents

Ne pas oublier la déclaration de la variable NombreLigne

Ce que j'ai compris de cette erreur

Pour récupérer des données pour les placer dans un tableau on utilise Tableau = Range("A1:A10")

Mais si il n'y a qu'une donnée ce n'est plus un tableau que l'on obtient mais juste une variable contenant la donnée (logique mais emmerdant embêtant)

Car dans le code je me sers de Ubound(Tableau) qui provoque une erreur si Tableau n'est pas un tableau

Pour ça le test If IsArray(T1) Then

Merci Banzai64,

J'ai compris ton explication et le principe avec le tableau.

au niveau du code, je n'aurai jamais trouvé, c'est clair.

Je dirai que ce n'était pas évident à déterminer le problème et la solution.

Vraiment très fort, félicitation, et surtout un Grand Merci à Toi

Bonjour

Il faut que tu édites le titre et que tu le modifies

ok, je ne savais pas si on pouvait modifier le titre,

je vais le faire maintenant

Bonne soirée et merci pour ton aide précieuse.

Rechercher des sujets similaires à "banzai64 besoin aide stp"