Tester variable évoluant grâce à une boucle

Résolu
Bonjour,

Je dois réaliser une macro vérifiant si les feuilles ont été modifié si oui insérer la date et l'heure d'enregistrement.

Pour cela j'ai renseigner dans la partie " Private Sub Worksheet_SelectionChange" de chaque feuille d'excel, une variable booléan qui prend la valeur Vrai lors du changement de cette feuille Ex : feuille 1 la variable est modifié1.

Dans la macro, traitant l'insertion de la date et l'heure voici le code :

Sub Block_Nom_Date()

For n = 1 To Worksheets.Count

If modifié + n = True Then
Sheets(n).Select
Range("A1") = Date + Time
Range("a3") = Name
End If
Next
End Sub

mais comme est le code aujourd'hui le test de la variable "modifié n" prend une valeur alphanumérique et non booléan.

Merci d'avance à toute les informations me permettant de trouver la solution de ce problème

Je reste à votre disposition pour tous éléments complémentaire à la compréhension de mon problème.

Cordialement

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    modifié + n ! ça ne veut rien dire!

    Utilise un tableau modifié(Nombre de feuille) déclaré en public pour qu'il soit visible de toutes le feuilles

    Dans chaque Worksheet_SelectionChange tu devras avoir:
    modifié(N° de Feuille) = true

    Après tu testes :
    If modifié(n) = True Then


    Bonne suite
    1. Merci, cela fonctionne.

      Je me demander comment est-il possible d'ajouter la variable modifié(N° de feuille) lors de la création d'une nouvelle feuille.

      Je sais cela ne fait plus partie de cette question mais Paf à l'air de bien maitrisé Visual Basic donc j'en profit.

      Merci d'avance

      Cordialement
      1. ben..., je ne connais pas d'autre solution que manuelle si la nouvelle feuille est crée manuellement !

        pour simplifier un peu on peut écrire dans chaque Worksheet_SelectionChange:

        recherché(ActiveSheet.Index) = True

        Bonne soirée