Gestion d'une sélection vide

Bonjour à tous,

je suis sur un projet qui avance petit à petit. Aujourd'hui il est presque fonctionnel, mais j'aimerais pouvoir l'améliorer encore un peu.

Je vais essayer d'être le plus clair possible :

Je gère des commandes dans des classes. Chaque feuille est une classe qui comprend des nombres de commande. Jusque la, tout va bien.

Afin de me simplifier la vie, je souhaite exporter le nom du fichier lorsqu'il est à "1" ou plus dans une autre feuille pour traiter ma commande. J'ai donc fait une macro en vba qui me sélectionne la colonne, supprime les cellules vides, copie les noms de fichier et me les colle dans une nouvelle feuille. Ca, c'est bon... mais si j'ai une commande vide, il n'y a rien à sélectionner, et j'ai un bug. Pour le moment, je contourne le problème en disant, si je n'ai pas de commande, je ne lance pas la macro. Mon problème, c'est que je suis obliger de le faire pour chaque classe, et pour chaque famille de produit.. (donc potentiellement 14x13...). J'aimerai donc pouvoir lancer ma macro sur toutes les classes en même temps, sans me soucier qu'il y ai ou pas des commandes. Je ne sais pas si je suis clair, du coup, je vous met mon fichier avec toutes mes macro pour illustrer mon propos.

Merci

Bonjour,

Je pense que tu t'y es mal pris avec ce classeur et que tu gagnerais en simplicité si :

  • Tu renommes Récapitulatif en DATA et c'est sur cette feuille où tu saisies toutes tes données
  • Tu ne conserves qu'une seule feuille CLASSE

Voilà comment je vois la chose pour la commande où il faudra remplacer le MsgBox :

Sub RectCommande_Cliquer()

Set inside = Intersect(ActiveCell, Range("DATA!Tableau1"))

If Not inside Is Nothing Then
  MsgBox "commande de " & Range("A" & ActiveCell.Row) & " - " & Cells(4, ActiveCell.Column)
End If

End Sub

à tester ci-dessous

Bonjour Oxydum et merci pour ta réponse.

Je pense que j'ai du mal exprimer mon problème...

La feuille récap est la synthèse de toutes les classes, mais je dois exporter le nom des fichiers de chaque classe. Si je saisie tout sur la même feuille, j'ai peur de ne plus y voir clair lorsque j'ai une école de 20 ou 30 classes pour mettre les 1 dans les cases. (Je dois le faire manuellement)

De toute façon, mon problème à été résolu en corrigeant la macro "CdePochetteFratrieOfferte" et les autres qui y ressemblent comme ceci.

Sub CdePochFratrieOfferte()
Dim c As Range, Dest As Range
   Set Dest = Worksheets("Cde Poch fratrie").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
   For Each c In Range("Ab4:Ab100").Cells
      c.Copy
      If c <> 0 Then
         Dest.PasteSpecial Paste:=xlPasteValues
         Set Dest = Dest.Offset(1, 0)
      End If
   Next c
Feuil16.Select

End Sub

Cela ne me génère plus d'erreur si ma sélection est vide...

Rechercher des sujets similaires à "gestion selection vide"