Autres Macro en 2 temps..

Calvus

XLDnaute Barbatruc
Bonjour le forum,

J'ai une macro qui s'effectue en 2 temps et ça m'agace ! Perte de temps et d'énergie, mais surtout d'ergonomie.

J'ai un classeur, à partir duquel j'en ouvre un autre (macro 1) pour y chercher des données.
Je sélectionne une cellule puis retourne dans mon classeur initial pour lancer ma 2ème macro qui va traiter le sélection.

J'ai tenté des boucles et des pauses, mais je ne vois pas comment intervenir manuellement pendant la 1ère macro (pour ça qu'il y en a 2)

Ce dont j'ai besoin à ce stade, c'est simplement de savoir si je peux ouvrir mon classeur, et faire ma sélection de feuille et de cellule manuellement et ensuite relancer la procédure.

Je pense qu'il n'y a pas besoin de fichier à ce stade, mais bon, j'en enverrai un si nécessaire.

Pensez vous que ce soit possible ?

Merci et bonne journée à tous.
 

Calvus

XLDnaute Barbatruc
Bonjour Dranreb, le forum,

J'essaie de m'inspirer du fichier que tu m'as envoyé.

J'ai compris qu'il fallait utiliser la procédure
Private Sub Excel_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

En revanche, je n'arrive pas à l'activer depuis ma feuille.
Peux tu me dire depuis quelle Sub c'est lancé dans ton fichier ?

Merci
 

Dranreb

XLDnaute Barbatruc
Non, il ne faut pas essayer de bricoler l'UfSelect. Soit tu le prend et l'utilise comme il est, en t'inspirant des petites procédures du Module1, soit tu fais autre chose.
J'y a cependantr apporté une petite modification parce que sur mon système il disparait quand on veut sélectionner une cellule d'un autre classeur
 

Pièces jointes

  • UfSélectArthour973.xls
    188.5 KB · Affichages: 2

Dranreb

XLDnaute Barbatruc
La variable objet Excel n'est pas initialisée. Il manque ça :
VB:
Private Sub UserForm_Initialize()
Set Excel = Application
End Sub
Mais as tu vu mon message précédent ?
Qu'est ce que tu voudrais faire qui pourrait se commander depuis l'UfSelect ?
 
Dernière édition:

Calvus

XLDnaute Barbatruc
Re,

Merci !

Alors, ça fonctionne " un peu..."
J'arrive à lancer la procédure, l'userform s'ouvre, l'autre classeur s'ouvre et j'arrive à sélectionner la donnée souhaitée.
Cependant, plus rien ne fonctionne après. Je suis obligé de redémarrer Excel si je veux continuer à travailler ou faire d'autres tests.

EDIT : non c'est bon, ma macro désactivait les événements..
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Tu parles de ton Userform ou de l'UfSelect ?
Je l'ai d'ailleurs repaptisé UFmSelect et surtout j'ai nommé la variable Excel autrement, AppXL pour tout dire, parce que Excel c'est le nom d'une bibliothèque. Il était un peu vieux cet UfSelect ….
 

Calvus

XLDnaute Barbatruc
Re,

Super, ça fonctionne !
Merci Dranreb :)

Voici le code si jamais quelqu'un est intéressé.
VB:
Option Explicit
Dim WithEvents Excel As Application

Private Sub Excel_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
TextBox1 = Target
monClient = Target
End Sub

Private Sub UserForm_Initialize()
'        With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
Call Imp_Client
Set Excel = Application
End Sub

Private Sub Validation_Click()
Call Continue
End Sub

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 088
Messages
2 085 202
Membres
102 817
dernier inscrit
Nini668