Tester variable évoluant grâce à une boucle

Résolu
Nicolas3537 -  
 Nicolas3537 -
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

  1. Paf
     
    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
    0
  2. Nicolas3537
     
    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
    0
    1. Paf
       
      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
      0
  3. Nicolas3537
     
    Merci pour toute vos réponse.

    Bon Week-end.
    0