S
sandrine
Guest
Bonjour à tous,
Je rame depuis hier sur une macro qui doit être fort simple mais qui m'echappe.
Sur un formulaire, (fichier ci-joint), l'utilisateur remplit des TXT et OPT. En cliquant sur le bouton VALIDER, les données saisies (chiffres ou lettres) se transférent sur ma feuille excel à la dernière ligne non vide. C'est ok pour cette partie. Par contre, je bloque sur le fait, que si l'utilisateur ne renseigne pas tous les TXT ou OPT, ils ne se tranfèrent pas à la suite. Si un TXT n'est pas renseigné, il me laisse une colonne à vide , puis va passer au txt suivant. J'ai besoin qu'il m'envoie les infos à la suite sans colonnes à blancs et même si je n'ai que 2 TXT remplies! Actuellement, si mon utilisateur rempli seulementle TXT1 et le TXT49, je me retrouve avec mes infos en A1 et A49. C'est pas pratique...
J'ai bidouillé mon code mais visiblement je ne suis pas la reine de la bidouille...
Ci-joint mon code. Je n'y suis pas attachée plus que cela, si vous avez d'autres solutions je suis preneuse.
Merci d'avance
Sandrine
Private Sub CMDVALIDER_Click()
num = Sheets('articles').Range('A65536').End(xlUp).Row + 1
colDepart = 1
For i = 1 To 2
C = colDepart + (i - 1)
Cells(num, C) = Me.Controls('TXT' & i)
Next i
For i = 1 To 3
If Me.Controls('opt' & i) = True Then
Cells(num, C + 1) = Me.Controls('opt' & i).Caption
End If
Next i
For i = 4 To 6
If Me.Controls('opt' & i) = True Then
Cells(num, C + 2) = Me.Controls('opt' & i).Caption
End If
Next i
For i = 7 To 9
If Me.Controls('opt' & i) = True Then
Cells(num, C + 3) = Me.Controls('opt' & i).Caption
End If
Next i
Unload UserForm1
End Sub [file name=appli.zip size=12615]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/appli.zip[/file]
Je rame depuis hier sur une macro qui doit être fort simple mais qui m'echappe.
Sur un formulaire, (fichier ci-joint), l'utilisateur remplit des TXT et OPT. En cliquant sur le bouton VALIDER, les données saisies (chiffres ou lettres) se transférent sur ma feuille excel à la dernière ligne non vide. C'est ok pour cette partie. Par contre, je bloque sur le fait, que si l'utilisateur ne renseigne pas tous les TXT ou OPT, ils ne se tranfèrent pas à la suite. Si un TXT n'est pas renseigné, il me laisse une colonne à vide , puis va passer au txt suivant. J'ai besoin qu'il m'envoie les infos à la suite sans colonnes à blancs et même si je n'ai que 2 TXT remplies! Actuellement, si mon utilisateur rempli seulementle TXT1 et le TXT49, je me retrouve avec mes infos en A1 et A49. C'est pas pratique...
J'ai bidouillé mon code mais visiblement je ne suis pas la reine de la bidouille...
Ci-joint mon code. Je n'y suis pas attachée plus que cela, si vous avez d'autres solutions je suis preneuse.
Merci d'avance
Sandrine
Private Sub CMDVALIDER_Click()
num = Sheets('articles').Range('A65536').End(xlUp).Row + 1
colDepart = 1
For i = 1 To 2
C = colDepart + (i - 1)
Cells(num, C) = Me.Controls('TXT' & i)
Next i
For i = 1 To 3
If Me.Controls('opt' & i) = True Then
Cells(num, C + 1) = Me.Controls('opt' & i).Caption
End If
Next i
For i = 4 To 6
If Me.Controls('opt' & i) = True Then
Cells(num, C + 2) = Me.Controls('opt' & i).Caption
End If
Next i
For i = 7 To 9
If Me.Controls('opt' & i) = True Then
Cells(num, C + 3) = Me.Controls('opt' & i).Caption
End If
Next i
Unload UserForm1
End Sub [file name=appli.zip size=12615]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/appli.zip[/file]