Tester variable évoluant grâce à une boucle [Résolu/Fermé]

Signaler
-
 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

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

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
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

Merci pour toute vos réponse.

Bon Week-end.