Problème de reset tableau

Bonjour à tous,

J'ai un petit soucis dont je ne comprends pas l'origine =/

En fait j'aimerais pouvoir supprimer des colonnes dans le grand tableau en PJ, la démarche fonctionne pour toute les colonnes SAUF la colonne 2. J'ai eu beau chercher je ne trouve pas de solution

Le programme qui me pose problème se lance à l'aide du bouton "reset tous les chantiers de la semaine"

Merci d'avance =)

Bonjour,

J'ai testé et le problème vient de la ligne dans la macro "ResetChantier" :

If A = vbCancel Then Exit Sub

vbCancel a comme valeur 2 donc forcément il quitte la procédure ;)

A+

Bonjour Koko_Swiff =)

Ah bah oui, tout simplement mais du coup comment y remédier si on veut garder un vbOkCancel ? ^^ faut-il passer par un vbDefaultButton ?

Merci de ta réponse

Re,

Je suppose que si tu veux vérifier vbCancel c'est si l'utilisateur quitte ?

Dans ce cas il vaut mieux mettre if A = ""

Puisque la croix rouge ou bien quitter ne renvoie aucune valeur ;)

Edit :

If A = "" Then Exit Sub

A placer avant la ligne :

If Not IsNumeric(A) Then A = -1

Et pour éviter le message d'incompatibilité de type, je te conseil de déclarer tes variables inptubox sans les définir

Dim A

A+

bonsoir,

si A est un string ? (la 2ième partie, je ne suis pas sûr si c'est bien)

Sub ResetChantier()

     Dim LastLine As Long, A As String, b As Boolean

     Do
          b = False
          A = Application.InputBox("Quelle semaine voulez-vous supprimer ?" & vbLf & "0 ou annuler = fin de la macro", "Semaine à supprimer", "Entrer une semaine à supprimer", Type:=2)
          Select Case A
               Case 1 To 52: A = Fix(A): b = True     'arrondir integer !
               Case 0, "Entrer une semaine à supprimer", False: Exit Sub
          End Select
          If Not b Then MsgBox "Veuillez entrer un nombre entre 1 et 52", vbExclamation
     Loop While Not b

     With Sheets("2022")
          LastLine = .ListObjects(1).ListRows.Count
          For i = 10 To (LastLine - 5) Step 2
               Cells(i + 1, A + 6).Resize(5, 1).ClearContents
          Next
          MsgBox ("La semaine " & A & " a bien été supprimée")
     End With

End Sub

Bonjour à tous =)

Bonjour Koko_Swiff, c'est exactement ce que je voulais, merci à toi =) (en fait qu'en fait le problème venait surtout du fait que j'avais déclaré ma variable en tant qu'Integer et donc il ne comprenais pas la commande A="" qui est une chaine de caractère )

Bonjour BsAlv, ton code est beaucoup plus propre et ordonné que le mien ^^ C'est vrai que je n'utilise pas souvent le codage par "cas" mais il s'avère très utile .Merci à toi pour ce programme =)

bonjour,

Je ne sais pas si vous avez vu les 3 possibilités de sortir du boucle :

* le texte original "Entrer une semaine à supprimer"

* le valeur "0" (j'avais ajouter ce valeur dans la description du msgbox)

* False = le bouton "annuler" ou le croix en haut & droite

Re BsAlv =)

Oui effectivement j'ai pu le voir dans le code et en fonctionnement, c'es nickel, merci à toi ^^

Petite question : le vbLf correspond à un chr (10) ?

Merci d'avance =)

re,

oui, chr(10)=vbLf, mais c'est plutôt l'habitude chez moi, mnémonique LineFeed

Re,

Merci pour le tuyau !

Rechercher des sujets similaires à "probleme reset tableau"