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 - Guide
- Word et excel gratuit - Guide
- Déplacer colonne 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