Feuille déjà affichée; affichage modal impossible

Bonjour à tous

J'ai l'erreur 400 quand je clique sur le bouton valider de l'userform1.

Est-ce du au code du bouton de commande:

Private Sub CommandButton6_Click()

    'copie les infos sur excel

    Sheets("Demandes").Select
    Range("H1").Select
    Selection.CurrentRegion.Select
    LastRow = Selection.Rows.Count
    LastColumn = Selection.Columns.Count

    With Sheets("Demandes")
        ligne = .Range("H" & Rows.Count).End(xlUp).Row + 1
        .Cells(ligne, 8).Value = ComboBox5.Value

        End With

        For i = 1 To 7
            Cells(ligne, i).Interior.Color = RGB(255, 255, 255)
        Next

ComboBox5 = ""
Unload Me
End Sub

...ou au code de l'affichage de l'userform

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("h:H")) Is Nothing Then
UserForm1.Show
End If
End Sub

Merci pour votre précieuse aide

Bonjour

Pas possible pour moi d'ouvrir les fichier avec extension 7z

Si la couleur se met bien sur la feuille Demande, essaie le code comme ceci

Private Sub CommandButton6_Click()
    'copie les infos sur excel
    With Sheets("Demandes")
        ligne = .Range("H" & Rows.Count).End(xlUp).Row + 1
        .Cells(ligne, 8).Value = ComboBox5.Value

        For i = 1 To 7
            .Cells(ligne, i).Interior.Color = RGB(255, 255, 255)
        Next
end with
ComboBox5 = ""
Unload Me
End Sub

Puis au fait pourquoi mettre une couleur blanche dans les colonne 1 à 7 ??

Crdlt

Bonjour monsieur DAN

merci, impeccable!

Bonjour à tous

je viens de m’apercevoir qu'il manque un petit quelque chose au code.

Lorsque je clique dans la cellule H5, je souhaiterais que la valeur s'inscrive dans la cellule H5, etc.

Là peut importe où je clique, la valeur ne s'inscrit pas forcément dans la bonne cellule!

Merci

Private Sub CommandButton6_Click()
    'copie les infos sur excel
   With Sheets("Demandes")
        ligne = .Range("H" & Rows.Count).End(xlUp).Row + 1
        .Cells(ligne, 8).Value = ComboBox5.Value

        For i = 1 To 8
            .Cells(ligne, i).Interior.Color = RGB(0, 255, 32)
        Next
End With
ComboBox5 = ""
Unload Me
End Sub

re

Le code qui est placé dans ta demande, ajoute la valeur d'une combobox et ce, après la dernière donnée trouvée en colonne H

en fonction de ta dernière demande, il faut modifier tout le code Commandbutton Click6

Peux-tu mettre le fichier en ligne en .zip

Crdlt

Bonjour monsieur Dan

Dites moi si j'ai réussi à le mettre en ligne!

Bonsoir,

Je n'ai pas lu le détail de la discussion, seulement le sujet. S'il s'agit de la même feuille dans les 2 procédures, l'erreur est évidente !

Il convient de supprimer tous les "Select" (toujours inutiles par ailleurs) et cela devrait améliorer...

Cordialement

Ferrand

Bonjour monsieur Ferrand

de quel Select parlez-vous?

Bonsoir,

J'en vois au moins 3 en début de procédure, dont un qui déplace la sélection sur H1. Si la proc. SelectionChange concerne cette feuille, elle va s'exécuter.

Quand parle des Select inutile, j'englobe toutes les instructions Select, inutiles pour faire quoi que ce soit d'autre, justifiées uniquement lorsque le déplacement de la sélection est une fin en soi.

Cordialement

Ferrand

re

Merci pour le fichier mais j'ai l'impression que ce n'est pas le bon, car la correction dont on a parlé avant n'est faite et je ne vois pas la macro Private Sub CommandButton6_Click(), ni l'USF avec la combobox 5. Par contre il y a une macro similaire Private Sub CommandButton3_Click()

Quid ?

A te relire

Bonjour monsieur Dan

désolé pour cet imbroglio. Entre temps, je tente de faire progresser mon projet, et j'ai apporté quelques modifications aux macro.

L'userform de la combobox5 est remplacé par la combobox7 qui se trouve dans l'userform1.

Le commandButtton6_click se trouve également dans l'userform1.

Le Private Sub CommandButton3_Click() sert à l'userform Demande.

Voici le bon fichier, et surtout merci infiniment de votre aide.

re

Dans la feuille DEMANDE, remplace le code par celui-ci :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("h5:H" & Range("B" & Rows.Count).End(xlUp).Row)) Is Nothing Then
UserForm1.Show
End If
End Sub

Dans l'USF, remplace le code par celui ci-dessous :

Private Sub CommandButton6_Click()
    'copie les infos sur excel
   With Sheets("Demandes")
        .Cells(ActiveCell.Row, 8).Value = ComboBox7.Value
        .Range("A" & ActiveCell.Row & ":H" & ActiveCell.Row).Interior.Color = RGB(0, 255, 32)
End With
ComboBox7 = ""
Unload Me
End Sub

Crdlt

Bonjour monsieur Dan

C'est super, le code fonctionne. Merci

Est-ce que c'est normal, lorsque je clique dans la barre verticale des lignes que l'userform s'active également?

Et si vous permettez, j'ai un autre problème que je n'arrive pas à résoudre malgré de nombreuse recherches.

J'aimerai que le format heure apparaisse dans la listbox1 (userform Filtre), code:

Private Sub ComboBox5_Change()
Dim LastLig As Long
Dim Code As String
Dim c As Range

Application.ScreenUpdating = False
With ListBox1
    .Clear
    .Visible = True
End With
Code = ComboBox5.Value
If ComboBox5.ListIndex > -1 Then
    With Worksheets("Demandes")
        .AutoFilterMode = False
        LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
        .Range("A5:A" & LastLig).AutoFilter Field:=1, Criteria1:=Code

For Each c In .Range("A5:A" & LastLig).SpecialCells(xlCellTypeVisible)

            With ListBox1

                .ColumnCount = 8
                .ColumnWidths = "50;50;80;50;50;50;50;90"
                .AddItem c
                .List(.ListCount - 1, 1) = c.Offset(0, 1)
                .List(.ListCount - 1, 2) = c.Offset(0, 2)
                .List(.ListCount - 1, 3) = c.Offset(0, 3)
                .List(.ListCount - 1, 4) = c.Offset(0, 4)
                .List(.ListCount - 1, 5) = c.Offset(0, 5)
                .List(.ListCount - 1, 6) = c.Offset(0, 6)
                .List(.ListCount - 1, 7) = c.Offset(0, 7)
                .List(.ListCount - 1, 8) = c.Offset(0, 8)
            End With

    Next c

        ListBox1.Visible = True
        .AutoFilterMode = False
    End With
End If
End Sub

Merci encore pour votre précieuse aide


Oups désolé, j'oubliais de préciser que c'est pour les colonnes d@g.

Portion de:

 .List(.ListCount - 1, 4) = c.Offset(0, 4)
                .List(.ListCount - 1, 5) = c.Offset(0, 5)
                .List(.ListCount - 1, 6) = c.Offset(0, 6)
                .List(.ListCount - 1, 7) = c.Offset(0, 7)

merci

re

Est-ce que c'est normal, lorsque je clique dans la barre verticale des lignes que l'userform s'active également?

La barre verticale ???

L'userform ne s'active que dans la colonne H

J'aimerai que le format heure apparaisse dans la listbox1 (userform Filtre)

Dans l'USF, modifier les lignes concernées par les heures comme ceci :

Exemple pour l'heure de départ

.List(.ListCount - 1, 3) = Format(c.Offset(0, 3), "hh:mm")

Crdlt

Rebonjour

Pour l'activation de l'userform, je voulais dire: lorsque je clique sur le chiffre de la ligne 5, par exemple

tel que vous me l'avez conseillé, j'ai modifié le code pour le format, mais ça ne fonctionne pas la colonne 4.

  .List(.ListCount - 1, 4) = Format(c.Offset(0, 4), "hh:mm")
                .List(.ListCount - 1, 5) = Format(c.Offset(0, 5), "hh:mm")
                .List(.ListCount - 1, 6) = Format(c.Offset(0, 6), "hh:mm")
                .List(.ListCount - 1, 7) = Format(c.Offset(0, 7), "hh:mm")

Merci

re

Pour l'activation de l'userform, je voulais dire: lorsque je clique sur le chiffre de la ligne 5, par exemple

Dans la Private Sub Worksheet_SelectionChange(ByVal Target As Range), juste après ajoute cette ligne --> If Target.Count > 1 Then Exit Sub

j'ai modifié le code pour le format, mais ça ne fonctionne pas la colonne 4

.

La colonne 4 correspond à c.offset(0,3) comme dit dans mon exemple et pas c.offset(0,4). Faut mettre cela de 3 à 6 et pas de 4 à 7 comme tu l'as fait dans ta demande

Crdlt

Merci monsieur Dan

c'est impeccable!

De toute évidence, je faisais une mauvaise association entre le no de la colonne et celui du code. Malheureusement, je ne comprends pas toujours la syntaxe des macro.

Maintenant, je vais essayer de m'attaquer à rendre plus précis le filtre, car il ne respecte pas les deux critères, et ne filtre pas uniquement ce qui est souhaité lors de changement de critère.

Bref, comme il s'agit d'un sujet différent, je faire un nouveau post.

Recevez toute ma gratitude pour votre aide, c'est grandement apprécié.

Rechercher des sujets similaires à "feuille deja affichee affichage modal impossible"