Formulaire avec vba - excel
fafa
-
fafa -
fafa -
Bonjour,
j'ai saisi ce code dans vba :
Sub transpose_dans_tableau()
'Atteindre le formulaire et mémoriser les données
Sheets("Formulaire-environnement").Select
Range("B1 : B12").Select
Selection.Copy
'Test pour déterminer la ligne où coller les informations dans le tableau
Sheets("Base-environnement").Select
valeurA2 = Range("A2").Value
If valeurA2 = "" Then
Range("A2").Select
Else
Range("A1").Select
Selection.End(x1Down).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
'Mémorise le numéro de la ligne où coller les données
ligne_active_base = ActiveCell.Row
'Collage avec transposition
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, _
Operation:=xlNone, skipblanks:=False, Transpose:=True
'Rendre vierge le formulaire
Sheets("Formulaire-environnement").Select
Range("B1:B12").Select
Selection.ClearContents
Range("B1").Select
'Retourner dans le tableau
Sheets("Base-environnement").Select
Range("A1").Select
End Sub
L'opération fonctionne bien pour la première "fiche" mais si je resaisie une fiche, ça me donne une erreur 400.
Que puis-je faire ?
Je précise que je ne connais pas du tout vba donc j'utilise des codes trouvés sur le net.
Merci
j'ai saisi ce code dans vba :
Sub transpose_dans_tableau()
'Atteindre le formulaire et mémoriser les données
Sheets("Formulaire-environnement").Select
Range("B1 : B12").Select
Selection.Copy
'Test pour déterminer la ligne où coller les informations dans le tableau
Sheets("Base-environnement").Select
valeurA2 = Range("A2").Value
If valeurA2 = "" Then
Range("A2").Select
Else
Range("A1").Select
Selection.End(x1Down).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
'Mémorise le numéro de la ligne où coller les données
ligne_active_base = ActiveCell.Row
'Collage avec transposition
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, _
Operation:=xlNone, skipblanks:=False, Transpose:=True
'Rendre vierge le formulaire
Sheets("Formulaire-environnement").Select
Range("B1:B12").Select
Selection.ClearContents
Range("B1").Select
'Retourner dans le tableau
Sheets("Base-environnement").Select
Range("A1").Select
End Sub
L'opération fonctionne bien pour la première "fiche" mais si je resaisie une fiche, ça me donne une erreur 400.
Que puis-je faire ?
Je précise que je ne connais pas du tout vba donc j'utilise des codes trouvés sur le net.
Merci
A voir également:
- Formulaire avec vba - excel
- Whatsapp formulaire opposition - Guide
- Liste déroulante excel - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
1 réponse
Bonjour,
Suggestion :
ce qui donne :
Lupin
Suggestion :
Sub Essai()
Dim Ligne_Active_Base As Long
Range("A65535").End(xlUp).Select
Ligne_Active_Base = ActiveCell.Row
Range("A" & (Ligne_Active_Base + 1)).Select
End Sub
'
ce qui donne :
Option Explicit
Sub Transpose_Dans_Tableau()
'Atteindre le formulaire et mémoriser les données
Sheets("Formulaire-environnement").Select
Range("B1 : B12").Select
Selection.Copy
'Test pour déterminer la ligne où coller les informations dans le tableau
Sheets("Base-environnement").Select
valeurA2 = Range("A2").Value
If valeurA2 = "" Then
Range("A2").Select
Else
Range("A65535").End(xlUp).Select
Ligne_Active_Base = ActiveCell.Row
Range("A" & (Ligne_Active_Base + 1)).Select
End If
'Mémorise le numéro de la ligne où coller les données
Ligne_Active_Base = ActiveCell.Row
'Collage avec transposition
Range("A" & Ligne_Active_Base).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, _
Operation:=xlNone, skipblanks:=False, Transpose:=True
'Rendre vierge le formulaire
Sheets("Formulaire-environnement").Select
Range("B1:B12").Select
Selection.ClearContents
Range("B1").Select
'Retourner dans le tableau
Sheets("Base-environnement").Select
Range("A1").Select
End Sub
'
Lupin
fafa
ca marche parfaitement . Merci