Microsoft 365 lancer un code de la feuille active et afficher le MsgBox sur la feuille active sans activer l'autre feuille

Usine à gaz

XLDnaute Barbatruc
Bonsoir à toutes et à tous,

Je cherche à faire ce qui suit :
Contexte
Je suis sur la feuille "Lancement_code_ici" (feuille active d'où je clique sur mon bouton "MsgBox Rappels du jour"
- sans activer la feuille "RdV_transfert", le code s'éxécute et le MsgBox s'affiche en restant sur la feuille active et le code se termine sans activer la feuille "RdV_transfert"

Je n'ai pas réussi à l'instant à le faire.
Pourriez-vous m'aider ?
Je joins je fichier test et je continue à chercher.

Un grand merci par avance,
lionel :)
 

Pièces jointes

  • forum_test.xlsm
    47.3 KB · Affichages: 8
Solution
Salut à tous,
Code :
VB:
Sub cherche()
Dim Col As Range, Msg As String
Dim T   As String: T = String(20, "-")
Const Dlm = ":   "
    
    Set Col = Worksheets("Rdv_transfert").Columns("h:h").Find( _
              "à confirmer", , xlValues, xlPart, xlByRows, xlNext)
    If Not Col Is Nothing Then
        Set Col = Col.Parent.Rows(Col.Row).Columns
        Msg = "Réseau" & vbTab & vbTab & Dlm & Col("E") & vbLf & _
              "Agent " & vbTab & vbTab & Dlm & Col("F") & vbLf & _
              "Date RdV" & vbTab & Dlm & Col("B") & vbLf & _
              "Date Appel" & vbTab & Dlm & Col("C") & vbLf & _
              "Intervalle" & vbTab & vbTab & Dlm & Abs(DateDiff("d", Col("B"), Col("C"))) & vbLf & vbLf & _
              "ENVOI ? = OUI...

TooFatBoy

XLDnaute Barbatruc
changez pour vous ce qui est en rouge
Private Sub UserForm_Initialize()
Qx = Val(Trim(Mid(Application.OperatingSystem, InStrRev(Application.OperatingSystem, " ") + 1)))
moins = IIf(Qx = 6.01, 20, 0)
Qx = IIf(Qx = 6.01, (4 / 3), 1)
End Sub
Ah zut, cette partie de #118 n'y était pas quand j'ai écrit #119, et du coup moi j'ai mis 1 et 1 au lieu de 0 et 1 comme tu indiques.
 

Usine à gaz

XLDnaute Barbatruc
Re Patrick, Marcel :)
pour moi c'est bon :
1643292324591.png

enclume toi-même lol :)
 

patricktoulon

XLDnaute Barbatruc
oui j'avais essayé mais c'est une fausse piste je le savais déjà
chez moi c'est bien 1.33333 soit le coeff points/pixel avec un dpi de 100
et c'est tout a fait normal car offsetwidth et offsetheight renvoient des mesures en pixel
sauf que bien sur chez moi en dpi 120 le coeff est de 1.66666667
sauf que le webbrowser même si il est dans le userform restitue comme une fenêtre IE et a donc sa propre résolution qui est basé sur un de DPI de 100
je peux l’affirmer car çà fait longtemps que je travaille avec les webbrowser et si j'applique le coeff de mon dpi dans un webbrowser ou IE pour dimensionner un element je suis obligé de réduire de 1.20 pour avoir un visuel identique
si tu te ballade dans DVP ou même ici tu trouvera mes fonction range to table html j'evoque a divers endroit cette particularité

bon ben si c'est bon pour tout les deux ca devrait l'etre pour tous

voilà alors lionel tu va l'utiliser mon msgboxW
nombre de lignes limité a ce que peut afficher la hauteur d'ecran
largeur pareil
couleur modifiable a souhait
et on a les VbButton des msgbox classique
bref c'est plus que ce que tu avais demandé
 

TooFatBoy

XLDnaute Barbatruc
oui j'avais essayé mais c'est une fausse piste je le savais déjà
chez moi c'est bien 1.33333 soit le coeff points/pixel avec un dpi de 100
et c'est tout a fait normal car offsetwidth et offsetheight renvoient des mesures en pixel
sauf que bien sur chez moi en dpi 120 le coeff est de 1.66666667
sauf que le webbrowser même si il est dans le userform restitue comme une fenêtre IE et a donc sa propre résolution qui est basé sur un de DPI de 100
je peux l’affirmer car çà fait longtemps que je travaille avec les webbrowser et si j'applique le coeff de mon dpi dans un webbrowser ou IE pour dimensionner un element je suis obligé de réduire de 1.20 pour avoir un visuel identique
Ce ne sont pas les DPI qui sont à 125 ou 100, mais le coefficient de zoom.
Ne pas confondre le coefficient de zoom et la résolution. ;)

En tout cas, merci pour ces précisions.👍
 

Usine à gaz

XLDnaute Barbatruc
oui j'avais essayé mais c'est une fausse piste je le savais déjà
chez moi c'est bien 1.33333 soit le coeff points/pixel avec un dpi de 100
et c'est tout a fait normal car offsetwidth et offsetheight renvoient des mesures en pixel
sauf que bien sur chez moi en dpi 120 le coeff est de 1.66666667
sauf que le webbrowser même si il est dans le userform restitue comme une fenêtre IE et a donc sa propre résolution qui est basé sur un de DPI de 100
je peux l’affirmer car çà fait longtemps que je travaille avec les webbrowser et si j'applique le coeff de mon dpi dans un webbrowser ou IE pour dimensionner un element je suis obligé de réduire de 1.20 pour avoir un visuel identique
si tu te ballade dans DVP ou même ici tu trouvera mes fonction range to table html j'evoque a divers endroit cette particularité

bon ben si c'est bon pour tout les deux ca devrait l'etre pour tous

voilà alors lionel tu va l'utiliser mon msgboxW
nombre de lignes limité a ce que peut afficher la hauteur d'ecran
largeur pareil
couleur modifiable a souhait
et on a les VbButton des msgbox classique
bref c'est plus que ce que tu avais demandé
Merci Patrick :)
 

patricktoulon

XLDnaute Barbatruc
re
je l'ai dis tout a l'heure tu met le moins a ce qui te convient dans le initialyse
Private Sub UserForm_Initialize()
Qx = Val(Trim(Mid(Application.OperatingSystem, InStrRev(Application.OperatingSystem, " ") + 1)))
moins = IIf(Qx = 6.01, 20, 0)
Qx = IIf(Qx = 6.01, (4 / 3), 1)
End Sub
avec divers retours peut être qu'un jour je trouverais la logique ;)😅
pour le moment on fait comme ça
[edit]
j'ai trouvé une partie de la logique
en fait dans mon calcul je ne prends pas en compte le margin du

body
table
TR
[edit]
le margin auto qui est appliqué quand pas de css est de 4 points environ
car la table n'est pas en bordercollapse
avec 20 en dur comme j'avais mis plus il y avait de ligne moins c'etait bon
donc la formule pour rectifier la hauteur est
4 fois le nombre de ligne(TR) = ce que l'on doit enlever en hauteur
j'ai testé
avec -20 et beaucoup plus de ligne
1643299603757.png


avec la nouvelle formule et le meme message
1643299681406.png



pour vous c'est le rouge à changer
Private Sub UserForm_Initialize()
Qx = Val(Trim(Mid(Application.OperatingSystem, InStrRev(Application.OperatingSystem, " ") + 1)))
moins = IIf(Qx = 6.01, 4, 0)' remplacez le zero par (1 à 4)
Qx = IIf(Qx = 6.01, (4 / 3), 1)'on est bon comme ça chez vous et chez moi
End Sub
la multiplication je la fait dans la création
nouveau fichier joint
 

Pièces jointes

  • test msgbox superkool V°2 patricktoulon pour usine a gaz.xlsm
    69.2 KB · Affichages: 3
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
re
je l'ai dis tout a l'heure tu met le moins a ce qui te convient dans le initialyse
Private Sub UserForm_Initialize()
Qx = Val(Trim(Mid(Application.OperatingSystem, InStrRev(Application.OperatingSystem, " ") + 1)))
moins = IIf(Qx = 6.01, 20, 0)
Qx = IIf(Qx = 6.01, (4 / 3), 1)
End Sub
avec divers retours peut être qu'un jour je trouverais la logique ;)😅
pour le moment on fait comme ça
[edit]
j'ai trouvé une partie de la logique
en fait dans mon calcul je ne prends pas en compte le margin du

body
table
TR
[edit]
le margin auto qui est appliqué quand pas de css est de 4 points environ
car la table n'est pas en bordercollapse
avec 20 en dur comme j'avais mis plus il y avait de ligne moins c'etait bon
donc la formule pour rectifier la hauteur est
4 fois le nombre de ligne(TR) = ce que l'on doit enlever en hauteur
j'ai testé
avec -20 et beaucoup plus de ligne
Regarde la pièce jointe 1128914

avec la nouvelle formule et le meme message
Regarde la pièce jointe 1128916


pour vous c'est le rouge à changer
Private Sub UserForm_Initialize()
Qx = Val(Trim(Mid(Application.OperatingSystem, InStrRev(Application.OperatingSystem, " ") + 1)))
moins = IIf(Qx = 6.01, 4, 0)' remplacez le zero par (1 à 4)
Qx = IIf(Qx = 6.01, (4 / 3), 1)'on est bon comme ça chez vous et chez moi
End Sub
la multiplication je la fait dans la création
nouveau fichier joint
Nickel pour moi :)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 644
Messages
2 111 528
Membres
111 189
dernier inscrit
Laurent.