Importer plusieurs textbox dans une unique cellule Excel

Bonjour à tous,

Je souhaite remplir un tableau Excel à partir d'un UserForm.

Dans l'UserForm, pour répondre à la question "Quels locaux sont concernés?" correspondant au Label1, j'ai placer les textbox1, textbox2, textbox3, textbox4.... textbox20.

j'aimerais importer le contenu de ces textbox dans une unique case du tableau Excel (séparer par des points virgules ou /).

Voici mon code pour exporter un seul contenu, comment faire avec plusieurs?

'Compléter la dernière ligne de la colonne "Locaux concernés" par la valeur saisie dans la fiche local

.Cells(derlign, 16).Value = TextBox11

HELP!!!

Merci d'avance

Bonsoir

Pour copier les 20 Textbox dans une même cellule

Données séparées par des , (virgules)

  For i = 1 To 20
    .Cells(derlign, 16).Value = .Cells(derlign, 16).Value & "," & Me.Controls("TextBox") & i
  Next i
  .Cells(derlign, 16).Value = Mid(.Cells(derlign, 16).Value, 2)

Pas testé

merci beaucoup!!

J'ai également un soucis avec l'importation de l'userform vers le tableau Excel.

Ce programme marchait très bien, (derlign qui permettait d'ajouter sur une ligne chaque champs d'un Userform ), mais je ne comprends pas pourquoi, ca ne marche plus....

--> le débogueur précise que le problème vient de la déclaration DERLIGN

voici un extrait du programme:

Private Sub CommandButton1_Click()
'Bouton "VALIDER" pour enregistrer la fiche local

'Cette fonction permet de s'assurer que l'ensemble des données sont saisies. Lorsqu'il manque des données ou que les données saisies sont sous un format incorrect, ces champs se mettent en Rouge.

    'Initialisation : Coloration des Labels en noir

    Label2.ForeColor = RGB(0, 0, 0)
    Label3.ForeColor = RGB(0, 0, 0)
    Label4.ForeColor = RGB(0, 0, 0)
    Label5.ForeColor = RGB(0, 0, 0)
    Label7.ForeColor = RGB(0, 0, 0)
    Label8.ForeColor = RGB(0, 0, 0)
    Label9.ForeColor = RGB(0, 0, 0)
    Label10.ForeColor = RGB(0, 0, 0)
    Label11.ForeColor = RGB(0, 0, 0)
    Label12.ForeColor = RGB(0, 0, 0)
    Label13.ForeColor = RGB(0, 0, 0)
    Label14.ForeColor = RGB(0, 0, 0)
    Label17.ForeColor = RGB(0, 0, 0)

 'Boîte de dialogue pour confirmer l'enregistrement de la fiche local et l'intégrer dans le tableau récapitulatif
 If MsgBox("Confirmez-vous l'enregistrement de la fiche local?", vbYesNo, "Demande de confirmation") = vbYes Then

       'Contrôles de contenu
'Si le nom du local n'est pas complété, alors colorer en rouge le label "NOM"
   If TextBox2.Value = "" Then
       Label2.ForeColor = RGB(255, 0, 0)

'Si la description du local n'est pas complétée, alors colorer en rouge le label "DESCRIPTION"
    ElseIf TextBox3.Value = "" Then
       Label3.ForeColor = RGB(255, 0, 0)

'Si le niveau du local n'est pas complété, alors colorer en rouge le label "NIVEAU"
    ElseIf TextBox4.Value = "" Then
       Label4.ForeColor = RGB(255, 0, 0)

'Si le numéro du secteur ou de la zone de feu du local n'est pas complété, alors colorer en rouge le label "N° SECTEUR/ZONE DE FEU"
    ElseIf TextBox5.Value = "" Then
       Label5.ForeColor = RGB(255, 0, 0)

'Si la surface au sol du local n'est pas complétée, alors colorer en rouge le label "SURFACE AU SOL"
    ElseIf TextBox6.Value = "" Then
       Label7.ForeColor = RGB(255, 0, 0)

'Si la surface développée du local n'est pas complétée, alors colorer en rouge le label "SURFACE DEVELOPPEE"
    ElseIf TextBox7.Value = "" Then
       Label8.ForeColor = RGB(255, 0, 0)

'Si le PCS du local n'est pas complété, alors colorer en rouge le label "PCS"
    ElseIf TextBox8.Value = "" Then
       Label9.ForeColor = RGB(255, 0, 0)

'Si la hauteur du local n'est pas complétée, alors colorer en rouge le label "HAUTEUR"
    ElseIf TextBox9.Value = "" Then
       Label10.ForeColor = RGB(255, 0, 0)

 'Si aucune case n'est cochée, alors colorer en rouge le label "TYPE DE CONSTRUCTION"
    ElseIf OptionButton3.Value = "" And OptionButton4.Value = "" And OptionButton5.Value = "" And OptionButton6.Value = "" Then
       Label11.ForeColor = RGB(255, 0, 0)

 'Si aucune case n'est cochée, alors colorer en rouge le label "SPRINKLER"
    ElseIf OptionButton1.Value = "" And OptionButton2.Value = "" Then
       Label12.ForeColor = RGB(255, 0, 0)

 'Si aucune donnée n'est sélectionnée, alors colorer en rouge le label "CATEGORIE DE RISQUE (D9)"
    ElseIf ComboBox1.Value = "" Then
       Label6.ForeColor = RGB(255, 0, 0)

 'Si aucune donnée n'est sélectionnée, alors colorer en rouge le label "TYPE D'INTERVENTION INTERNE"
    ElseIf ComboBox2.Value = "" Then
       Label13.ForeColor = RGB(255, 0, 0)

 'Si la charge calorifique enveloppe du scénario incendie du local n'est pas complétée, alors colorer en rouge le label "CHARGE CALORIFIQUE"
    ElseIf TextBox10.Value = "" Then
       Label14.ForeColor = RGB(255, 0, 0)

     End If

       'Transfert vers tableau de données
' Si un champs est mal saisi (en rouge), alors afficher un message d'erreur et arrêter l'enregistrement
If Label2.ForeColor = RGB(255, 0, 0) Or Label3.ForeColor = RGB(255, 0, 0) Or Label4.ForeColor = RGB(255, 0, 0) Or Label5.ForeColor = RGB(255, 0, 0) Or Label7.ForeColor = RGB(255, 0, 0) Or Label8.ForeColor = RGB(255, 0, 0) Or Label9.ForeColor = RGB(255, 0, 0) Or Label10.ForeColor = RGB(255, 0, 0) Or Label11.ForeColor = RGB(255, 0, 0) Or Label12.ForeColor = RGB(255, 0, 0) Or Label13.ForeColor = RGB(255, 0, 0) Or Label14.ForeColor = RGB(255, 0, 0) Or Label17.ForeColor = RGB(255, 0, 0) Then
       MsgBox ("ERREUR : Compléter la fiche local et retenter l'enregistrement")
       UserForm3.Hide

'Si l'ensemble des champs est saisi convenablement, alors enregistrer les champs dans le tableau récapitulatif des données
ElseIf Label2.ForeColor = RGB(0, 0, 0) And Label3.ForeColor = RGB(0, 0, 0) And Label4.ForeColor = RGB(0, 0, 0) And Label5.ForeColor = RGB(0, 0, 0) And Label7.ForeColor = RGB(0, 0, 0) And Label8.ForeColor = RGB(0, 0, 0) And Label9.ForeColor = RGB(0, 0, 0) And Label10.ForeColor = RGB(0, 0, 0) And Label11.ForeColor = RGB(0, 0, 0) And Label12.ForeColor = RGB(0, 0, 0) And Label13.ForeColor = RGB(0, 0, 0) And Label14.ForeColor = RGB(0, 0, 0) And Label17.ForeColor = RGB(0, 0, 0) Then

With ThisWorkbook.Worksheets("1 - Récupération DE")

        Dim derlign As Long
  'derlign = Range("e" & Rows.Count).End(xlUp).Row
        derlign = .Range("B5").End(xlUp).Row + 1

'Compléter la dernière ligne de la colonne "REFERENCE LOCAL" par la valeur saisie dans la fiche local
            .Cells(derlign, 2).Value = Label16
'Compléter la dernière ligne de la colonne "NOM LOCAL" par la valeur saisie dans la fiche local
            .Cells(derlign, 3).Value = TextBox2
'Compléter la dernière ligne de la colonne "DESCRIPTION LOCAL" par la valeur saisie dans la fiche local
            .Cells(derlign, 4).Value = TextBox3
'Compléter la dernière ligne de la colonne "NIVEAU DU LOCAL" par la valeur saisie dans la fiche local
            .Cells(derlign, 5).Value = TextBox4

'Compléter la dernière ligne de la colonne "N° Secteur/Zone de feu" par la valeur saisie dans la fiche local
            .Cells(derlign, 6).Value = TextBox5

'Compléter la dernière ligne de la colonne "Catégorie de risque (D9)" par la valeur saisie dans la fiche local
            .Cells(derlign, 7).Value = ComboBox1

'Compléter la dernière ligne de la colonne "SURFACE AU SOL" par la valeur saisie dans la fiche local
            .Cells(derlign, 8).Value = TextBox6

'Compléter la dernière ligne de la colonne "SURFACE DEVELOPPE" par la valeur saisie dans la fiche local
            .Cells(derlign, 9).Value = TextBox7

'Compléter la dernière ligne de la colonne "PCS" par la valeur saisie dans la fiche local
            .Cells(derlign, 10).Value = TextBox8

'Compléter la dernière ligne de la colonne "HAUTEUR" par la valeur saisie dans la fiche local
            .Cells(derlign, 11).Value = TextBox9

'Compléter la dernière ligne de la colonne "TYPE DE CONSTRUCTION" par la valeur saisie dans la fiche local
          If OptionButton3.Value = True Then
          .Cells(derlign, 12).Value = OptionButton3.Caption
          ElseIf OptionButton4.Value = True Then
          .Cells(derlign, 12).Value = OptionButton4.Caption
          ElseIf OptionButton5.Value = True Then
          .Cells(derlign, 12).Value = OptionButton5.Caption
          ElseIf OptionButton6.Value = True Then
          .Cells(derlign, 12).Value = OptionButton6.Caption
         End If

'Compléter la dernière ligne de la colonne "SPRINKLER" par la valeur saisie dans la fiche local
          If OptionButton1.Value = True Then
          .Cells(derlign, 13).Value = OptionButton1.Caption
          ElseIf OptionButton2.Value = True Then
          .Cells(derlign, 13).Value = OptionButton2.Caption
         End If

'Compléter la dernière ligne de la colonne "Type d'intervention interne" par la valeur saisie dans la fiche local
          .Cells(derlign, 14).Value = ComboBox2

'Compléter la dernière ligne de la colonne "Charge calorifique" par la valeur saisie dans la fiche local
          .Cells(derlign, 15).Value = TextBox10

'Compléter la dernière ligne de la colonne "REMARQUES" par la valeur saisie dans la fiche local
           .Cells(derlign, 16).Value = TextBox12

End With
    MsgBox "Fiche local enregistrée et tableau de récupération des données d'entrée complété!"

End If
End If
End Sub

Merci d'avance

(si vous n'avez pas le temps, je comprendrais!! ^^ c'est déjà super sympa de m'avoir débloqué sur les textbox!!!)

Bonsoir

Ave ton fichier, cela aurait plus simple, mais regardes

derlign = .Range("B5").End(xlUp).Row + 1

Si tu ne dois pas utiliser

derlign = .Range("B" &  Rows.Count).End(xlUp).Row + 1

Si erreur persiste joins ton fichier anonymisé

Merci beaucoup!!!

Rechercher des sujets similaires à "importer textbox unique"