Afficher changement de cellules actives lors d'une macro

Bonjour à tous !

j'utilise une macro qui tourne en boucle tant que la cellule activée de la colonne concernée n'est pas vide. y-a-t 'il un moyen de voir quelle cellule est activée pendant l'exécution de la macro ? je sélectionne la cellule A1 -> exécution du code, ensuite sélection de la cellule A2 -> exécution du même code, cellule A3 etc. jusqu'à ce que la cellule ne contienne plus de valeur. Or pendant l'exécution de la macro je ne vois pas où ça en est et quelle cellule est actuellement activée.

j'ai essayé screenupdating = true mais rien n'y change

voici un bout du code que j'ai actuellement :

'... début du code...

Do Until ActiveCell.Value = ""
session.findById("wnd[0]/usr/ctxtRMMG1-MATNR").Text = ActiveCell.Value 
'... suite du code...
ActiveCell.Offset(1, 0).Select
Do Until ActiveCell.EntireRow.Hidden = False
 ActiveCell.Offset(1, 0).Select
 Loop
Loop
AppActivate "Excel"
End Sub

j'espère que c'est assez claire :) Merci bien !!

Bonjour Lorenzoforte,

Une idée est peut-être de faire figurer au niveau de la barre d'état l'information souhaitée (la barre d'état étant la zone située en bas à gauche dans Excel). Par défaut y est marqué "Prêt".

    Application.StatusBar = "Please be patient... " & ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)

Pour restaurer la barre d'état, la propriété est à définir sur False à la fin de la procédure :

    Application.StatusBar = False

Bonsoir AntoineDL,

Merci beaucoup pour votre aide. c'est déjà pas mal, j'ai bien le message qui s'affiche mais malheureusement il reste figé sur "please be patient B20". La cellule B20 étant celle que j'ai sélectionné en lançant la macro. n'y a-t-il pas un moyen pour que ce B20 défile B21-B22-B23 etc ?

un tout grand merci !

L'information devrait s'actualiser en fonction de la cellule active. La fonction Application.StatusBar est-elle bien placée dans le code ? La fonction Application.ScreenUpDating ne devrait pas avoir d'incidence sur l'affichage de la barre d'état.

Je te propose de faire un test avec le code simple ci-après. A recopier dans un classeur vierge et à exécuter pas à pas. La barre d'état est bien actualisée.

Sub test()
    Application.ScreenUpdating = False 'False ou True, pas d'incidence sur l'affichage dans la barre d'état
    For Each Cell In Range("A1:A3")
        Application.StatusBar = "Please be patient... " & Cell.Address(RowAbsolute:=False, ColumnAbsolute:=False)
    Next
    Application.StatusBar = False
End Sub

J'ai essayé avec un bout de votre code :

Sub test()
Do Until ActiveCell.Value = ""
    Application.ScreenUpdating = False 'False ou True, pas d'incidence sur l'affichage dans la barre d'état
        Application.StatusBar = "Please be patient... " & ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)
    Application.DisplayStatusBar = True

Application.Wait (Now + TimeValue("0:00:01"))
ActiveCell.Offset(1, 0).Select
Do Until ActiveCell.EntireRow.Hidden = False
 ActiveCell.Offset(1, 0).Select
 Loop
Loop
Application.StatusBar = False
End Sub

la valeur se met bien à jour ainsi, en laissant une seconde d'attente entre chaque offset. je vais essayer cette méthode sur mon fichier et vous tiens au courant. Merci !

ça fonctionne !! Merci, le souci c'était juste l'endroit ou j'avais placé la ligne. Merci pour cette alternative ! :) Bonne soirée !

Rechercher des sujets similaires à "afficher changement actives lors macro"