Agrandir un MsgBox

Bonjour

j'ai dans un fichier un MsgBox qui me demande de choisir une cellule ,j'aimerais savoir si l'on peut agrandir

ce Msg je n'ai plus mes yeux de 20 ans

Merci pour votre aide

Salut Joco7915

Tu as le mode "Accessibilité" sur Windows normalement, qui peux t'aider

Comme la touche du logo Windows + le signe plus

Bonjour JExcel2fr

Merci du tuyau ,c'était tout simplement pour agrandir la MsgBox qui semble tout rikiki

Pour le reste je vois encore

Hello,

Sinon passer par un Userform.

Voici le genre de MsGBox que j'ai , je choisi une cellule dans une autre plage D5:AB5 pour la coller dans une cellule de mon choix Plage D7:AB7 uf qui corresponde à cela ,je ne sais pas faire

capture d ecran 2025 12 01 155440

Bonjour,

Ah oui, avec l'inputbox de sélection de plage, c'est plus difficile !


L'idée c'est de reproduire l'interface de l'inputbox et donc de garder l'userform visible lors de la selection des cellules. Pour cela il faut l'afficher en vbModeless ; mais dans ce cas le code n'attend pas la fermeture de l'userform pour continuer. Il faut donc utiliser des astuces pour l'arreter. Les 2 que je t'ai présenté sont les plus courantes.

Autrement il faut masquer l'userform entre temps, mais je pense que tu saurais faire ça.


Je te propose ci-joint 2 fichiers qui implémentent deux solutions légèrement différentes :

  • La premiere avec une boucle infinie qui "attend" que l'utilisateur quitte l'UserForm pour continuer son exécution.
  • La deuxième avec ce qu'on appelle un "callback" : la validation dans l'UserForm va lancer une nouvelle Sub, qui sera "la suite" du code.

Chacune a ses avantages/inconvénients... (pour la boucle il faut bien gérer les risques de boucle infinie, pour le callback il faut "comprendre le fonctionnement"). N'hésite pas si tu as des questions !

Il y a du code dans ThisWorkbook, pour détecter le changement de selection, dans l'UserForm (pour gérer les clics sur les boutons) et dans le module (pilotage).

6book1-boucle.xlsm (26.65 Ko)

Bonsoir merci pour ton aide

ne correspond pas vraiment à mon attente

Si je clique une cellule plage D5:AB5 cela veut dire que je la copie a ce moment donné l'Uf doit s'ouvrir et me demander de choisir une cellule en plage D7:AB7 pour coller cette cellule que j'ai copier .Il colle en cliquant sur OK

Ci-joint le code qui déclenche la MsgBox

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim SourceRange As Range
    Dim DestRange As Range

    ' Définir la plage source et la plage de destination
    Set SourceRange = Me.Range("D5:AB5")
    Set DestRange = Me.Range("D7:AB7")

    ' Vérifier si la cellule cliquée est dans la plage source
    If Not Intersect(Target, SourceRange) Is Nothing Then
        ' Demander à l'utilisateur de choisir une cellule dans la plage de destination
        Dim DestCell As Range
        On Error Resume Next
        Set DestCell = Application.InputBox("Choisissez une cellule dans la plage D7:AB7 :", Type:=8)
        On Error GoTo 0

        ' Vérifier si la cellule choisie est valide
        If Not DestCell Is Nothing Then
            If Not Intersect(DestCell, DestRange) Is Nothing Then
                ' Copier la valeur de la cellule cliquée vers la cellule choisie
                DestCell.Value = Target.Value
            Else
                ' Afficher le UserForm pour le message d'erreur
                UserForm1.Label1.Caption = "Veuillez choisir une cellule valide dans la plage D7:AB7."
                UserForm1.StartUpPosition = 0 ' Position personnalisée
                UserForm1.Left = Application.Left + 600 ' Ajustez la position horizontale
                UserForm1.Top = Application.Top + 200 ' Ajustez la position verticale
                UserForm1.Show
            End If
        End If
    End If
End Sub

Bonsoir,

l'idée : on sélectionne une cellule de la plage source, un USF non modal indique de choisir la cellule de destination, comme il est non modal, le USF peut rester afficher tout en donnant la possibilité de cliquer sur la cellule choisie pour la destination. Si cette cellule cliquée est conforme, on copie la valeur et le USF se ferme, sinon on modifie le texte du USF afin d'indiquer l'erreur...

@ bientôt

LouReeD

Bonjour

Ci joint ma solution

10joco.xlsm (15.81 Ko)

A+ François

Autre solution sans userform

12joco-v1.xlsm (16.18 Ko)

A+ François

Bonjour François

Merci pour ton aide

Je vais voir pour mettre en place ta proposition avec UF

Crdlt

Ah je n'avais pas bien compris la consigne, au temps pour moi.

Rechercher des sujets similaires à "agrandir msgbox"