UserForm Problemi - Fransizca

Katılım
23 Mayıs 2014
Mesajlar
69
Excel Vers. ve Dili
2021-Fransizca
Iyi gunler elimde asagidaki gibi bir userform kodu var. ben bu kod ile bos olan ilk satira yazdirabiliyorum bilgileri fakat asil amacim boc olan ilk satirin ilk hucresine ki biz buna A1 diyebiliriz otomatik olarak 1 den baslayarak her yeni satirda +1 olarak yeni satir numarasi girmesini istiyorum. Bir de date yazan yerler Tarih formatinda olmali text deyil o konudada yardimci olursanir sevinirim.
Simdiden çok tesekkurler
Kod:
'Bouton Ajouter
Private Sub CommandButton_ajouter_Click()
    
    'Coloration des Labels en noir (&H80000012 = couleur de base de la propriété ForeColor)
    Label_of.ForeColor = &H80000012
    Label_datedemande.ForeColor = &H80000012
    Label_demandeur.ForeColor = &H80000012
    Label_type.ForeColor = &H80000012
    Label_faire.ForeColor = &H80000012
    Label_capa.ForeColor = &H80000012
    Label_specifique.ForeColor = &H80000012
    Label_qtepc.ForeColor = &H80000012
    Label_emplcmnt.ForeColor = &H80000012
    Label_delai.ForeColor = &H80000012
    Label_observation.ForeColor = &H80000012
    
        
    'Contrôles des champs
    
    If False Then 'Si vide
        Label_civilite.ForeColor = RGB(255, 0, 0)
    
    ElseIf TextBox_of = "" Then 'Si pas de numero of
        Label_of.ForeColor = RGB(255, 0, 0)
    ElseIf TextBox_datedemande = "" Then 'Si vide
        Label_datedemande.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_demandeur = "" Then 'Si vide
        Label_demandeur.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_type.ListIndex = -1 Then 'Si vide
        Label_type.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_faire.ListIndex = -1 Then 'Si vide
        Label_faire.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_capa.ListIndex = -1 Then 'Si vide
        Label_capa.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_specifique.ListIndex = -1 Then 'Si vide
        Label_specifique.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_qtepc.ListIndex = -1 Then 'Si vide
        Label_qtepc.ForeColor = RGB(255, 0, 0)
    ElseIf TextBox_emplcmnt = "" Then 'Si vide
        Label_nom.ForeColor = RGB(255, 0, 0)
    ElseIf TextBox_delai = "" Then 'Si vide
        Label_emplcmnt.ForeColor = RGB(255, 0, 0)
    Else
    

        
'Numéro de ligne de la première cellule vide de la colonne 1 en partant du bas de la feuille
        
    'Insertion des valeurs sur la feuille
     Dim ligne As Integer
              'Numéro de ligne de la première cellule vide de la colonne 1 en partant du bas de la feuille
     ligne = Cells(Rows.Count, 1).End(xlUp).Row + 1
      
       Cells(ligne, 12) = TextBox_of
       Cells(ligne, 2) = TextBox_datedemande
       Cells(ligne, 3) = ComboBox_demandeur
       Cells(ligne, 4) = ComboBox_type
       Cells(ligne, 5) = ComboBox_faire
       Cells(ligne, 6) = ComboBox_capa
       Cells(ligne, 7) = ComboBox_specifique
       Cells(ligne, 8) = ComboBox_qtepc
       Cells(ligne, 9) = TextBox_emplcmnt
       Cells(ligne, 10) = TextBox_delai
       Cells(ligne, 11) = TextBox_observation
      
       'Après insertion, réinitialisation du formulaire
        TextBox_of = ""
        TextBox_datedemande = ""
        ComboBox_demandeur.ListIndex = -1
        ComboBox_type.ListIndex = -1
        ComboBox_faire.ListIndex = -1
        ComboBox_capa.ListIndex = -1
        ComboBox_specifique.ListIndex = -1
        ComboBox_qtepc.ListIndex = -1
        TextBox_emplcmnt = ""
        TextBox_delai = ""
        TextBox_observation = ""
                      
         End If
 
 
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,330
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sıra numarası için;

1. satırın başlı satırı olduğunu varsaydım. 2. satırdan itibaren B sütunundaki dolu hücre kadar sıra no verir. Kendi kod bloğunuzda uygun yere yazarsınız.

C++:
If Cells(Rows.Count, 2).End(3).Row > 1 Then
    With Range("A2:A" & Cells(Rows.Count, 2).End(3).Row)
        .Formula = "=ROW(A1)"
        .Value = .Value
    End With
End If
Tarih için;

C++:
Cells(1, 1) = CDate(TextBox1)
 
Katılım
23 Mayıs 2014
Mesajlar
69
Excel Vers. ve Dili
2021-Fransizca
Oncelikle çok tesekkurler
Asagidaki satira geldiginde hata verdi
Kod:
Cells(ligne, 12) = TextBox_of
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,330
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu satırın benim önerdiklerimle ne alakası var anlamadım.
 
Katılım
23 Mayıs 2014
Mesajlar
69
Excel Vers. ve Dili
2021-Fransizca
Ilk yolladagim kodlarda dikkat ederseniz ben
Kod:
Dim ligne As Integer
              'Numéro de ligne de la première cellule vide de la colonne 1 en partant du bas de la feuille
     ligne = Cells(Rows.Count, 1).End(xlUp).Row + 1
kodlari ile sizin yaptiginiz islemi yapiyordum. Ama bu kod ile sadece bos olan ilk satirdan itibaren formdaki bilgileri dolduruyor fakat 1,2,3 vs.. diye ilk satira sayfa numarasi vermiyordu.
Sanirim simdi if kullandigimiz icin burda bir hata verdi.
 
Katılım
23 Mayıs 2014
Mesajlar
69
Excel Vers. ve Dili
2021-Fransizca
Hata bende oldu pardon, Butun sayfanin kodunu gonderiyorum sanirim daha iyi olacak :

Kod:
Private Sub ComboBox_demandeur_Change()

End Sub

Private Sub ComboBox_type_Change()

End Sub
Private Sub ComboBox_faire_Change()

End Sub
Private Sub ComboBox_capa_Change()

End Sub
Private Sub ComboBox_specifique_Change()

End Sub
Private Sub ComboBox_qtepc_Change()

End Sub

Private Sub TextBox_delai_Change()

End Sub

Private Sub TextBox_observation_Change()

End Sub

Private Sub TextBox_of_Change()
TextBox_of.Text = Replace(TextBox_of.Text, "m", "M") 'Permet de remplacer "m" minuscule en "M" majuscule
End Sub

'Ouverture de l'UserForm
Private Sub UserForm_Initialize()
    Dim i As Integer
    'Boucle pour ajouter les type dans la liste déroulante
    For i = 7 To 14
        ComboBox_demandeur.AddItem Sheets("Data").Cells(i, 11)
    Next
        For i = 7 To 23
        ComboBox_type.AddItem Sheets("Data").Cells(i, 1)
    Next
         For i = 7 To 17
        ComboBox_faire.AddItem Sheets("Data").Cells(i, 2)
    Next
      For i = 7 To 15
        ComboBox_capa.AddItem Sheets("Data").Cells(i, 4)
    Next
         For i = 7 To 11
        ComboBox_specifique.AddItem Sheets("Data").Cells(i, 5)
    Next
        For i = 7 To 18
        ComboBox_qtepc.AddItem Sheets("Data").Cells(i, 3)
    Next
    End Sub
 
 'Bouton Ajouter
Private Sub CommandButton_ajouter_Click()
    
    'Coloration des Labels en noir (&H80000012 = couleur de base de la propriété ForeColor)
    Label_of.ForeColor = &H80000012
    Label_datedemande.ForeColor = &H80000012
    Label_demandeur.ForeColor = &H80000012
    Label_type.ForeColor = &H80000012
    Label_faire.ForeColor = &H80000012
    Label_capa.ForeColor = &H80000012
    Label_specifique.ForeColor = &H80000012
    Label_qtepc.ForeColor = &H80000012
    Label_emplcmnt.ForeColor = &H80000012
    Label_delai.ForeColor = &H80000012
    Label_observation.ForeColor = &H80000012
    
        
    'Contrôles des champs
    
    If False Then 'Si vide
        Label_civilite.ForeColor = RGB(255, 0, 0)
    
    ElseIf TextBox_of = "" Then 'Si pas de numero of
        Label_of.ForeColor = RGB(255, 0, 0)
    ElseIf TextBox_datedemande = "" Then 'Si vide
        Label_datedemande.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_demandeur = "" Then 'Si vide
        Label_demandeur.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_type.ListIndex = -1 Then 'Si vide
        Label_type.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_faire.ListIndex = -1 Then 'Si vide
        Label_faire.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_capa.ListIndex = -1 Then 'Si vide
        Label_capa.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_specifique.ListIndex = -1 Then 'Si vide
        Label_specifique.ForeColor = RGB(255, 0, 0)
    ElseIf ComboBox_qtepc.ListIndex = -1 Then 'Si vide
        Label_qtepc.ForeColor = RGB(255, 0, 0)
    ElseIf TextBox_emplcmnt = "" Then 'Si vide
        Label_nom.ForeColor = RGB(255, 0, 0)
    ElseIf TextBox_delai = "" Then 'Si vide
        Label_emplcmnt.ForeColor = RGB(255, 0, 0)
    Else
    

        
'Numéro de ligne de la première cellule vide de la colonne 1 en partant du bas de la feuille
        
    'Insertion des valeurs sur la feuille
    Sheets("Sayfa2").Activate
     If Cells(Rows.Count, 2).End(3).Row > 1 Then
    With Range("A2:A" & Cells(Rows.Count, 2).End(3).Row)
        .Formula = "=ROW(A1)"
        .Value = .Value
    End With
End If

      
       Cells(ligne, 12) = TextBox_of
       Cells(ligne, 2) = TextBox_datedemande
       Cells(ligne, 3) = ComboBox_demandeur
       Cells(ligne, 4) = ComboBox_type
       Cells(ligne, 5) = ComboBox_faire
       Cells(ligne, 6) = ComboBox_capa
       Cells(ligne, 7) = ComboBox_specifique
       Cells(ligne, 8) = ComboBox_qtepc
       Cells(ligne, 9) = TextBox_emplcmnt
       Cells(ligne, 10) = TextBox_delai
       Cells(ligne, 11) = TextBox_observation
      
       'Après insertion, réinitialisation du formulaire
        TextBox_of = ""
        TextBox_datedemande = ""
        ComboBox_demandeur.ListIndex = -1
        ComboBox_type.ListIndex = -1
        ComboBox_faire.ListIndex = -1
        ComboBox_capa.ListIndex = -1
        ComboBox_specifique.ListIndex = -1
        ComboBox_qtepc.ListIndex = -1
        TextBox_emplcmnt = ""
        TextBox_delai = ""
        TextBox_observation = ""
                      
         End If
 
 
End Sub

'Bouton Fermer
Private Sub CommandButton_fermer_Click()
    
    Unload Me
    
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,330
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Hangi kod da sorun yaşadınız?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,330
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bence örnek dosyanızı paylaşın. Bu şekilde ilerleme kaydedemiyoruz.
 
Katılım
23 Mayıs 2014
Mesajlar
69
Excel Vers. ve Dili
2021-Fransizca
Buyrun dosya ektedir
yalniz
Kod:
'Numéro de ligne de la première cellule vide de la colonne 1 en partant du bas de la feuille
        
    'Insertion des valeurs sur la feuille
     Dim ligne As Integer
              'Numéro de ligne de la première cellule vide de la colonne 1 en partant du bas de la feuille
     ligne = Cells(Rows.Count, 1).End(xlUp).Row + 1
kismini sizin yolladiginiz ile degistirdigim haliyle yukledim

 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,330
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben değiştirin dememiştim...

Sizin kodlarınız dursun. Kayıt işlemi yapan butonun END SUB satırının hemen üstüne benim verdiğim sıra numarası kodunu ekleyiniz. Aynı şekilde TARİH yazan nesneyi verdiğim örnek kodda ki gibi düzenleyip deneyiniz.
 
Katılım
23 Mayıs 2014
Mesajlar
69
Excel Vers. ve Dili
2021-Fransizca
Korhan bey çok tesekkurler mukemmel sekilde çalisti. Tam olarak istedigim buydu. Biraz karisik anlattigim için sizi yordum kusura bakmayin.
 
Üst