Formulaire avec vba - excel

Fermé
fafa - 6 juin 2008 à 10:32
 fafa - 6 juin 2008 à 14:44
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
A voir également:

1 réponse

Utilisateur anonyme
6 juin 2008 à 13:37
Bonjour,

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
0
ca marche parfaitement . Merci
0