Erreur 1004

Résolu
Eiffel01 Messages postés 22 Statut Membre -  
Eiffel01 Messages postés 22 Statut Membre -
Bonjour,
J'ai un petit problème avec un code VBA qui me renvoie l'erreur 1004 : erreur définie par l'application ou par l'objet.
Code :
Sub transpose_dans_tableau()
Sheets("Formulaire").Select
Range("B1:B4").Select
Selection.Copy
Sheets("Base de donnée").Select
valeurA2 = Range("A2").Value
If valeurA2 = "" Then
Range("A2").Select
Else
Range("A1").Select
Selection.End(xlDown).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Sheets("Formulaire").Select
Range("B1:B4").Select
Selection.ClearContents
Range("B1").Select
Sheets("Base de donnée").Select
Range("A1").Select
End Sub

L'erreur est causée à la ligne Selection.End(xlDown).Select
Quelqu'un saurait-il comment régler le problème ?
Cordialement

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,
    tu te compliques bien la vie !!! :o)
    apparament, tu cherches à écrire dans "base de données" la transposé de B1:B4 de "formulaire à la 1) ligne vide de "base de données" ?
    tu tranpose que les valeurs de B1:B4 sinon quels param^tres de format?

    un exemple: transporte le valeurs de B1:B4
    Option Explicit
    '---------
    Sub cc()
    Dim Ligvid As Integer, Tampon

    With Sheets("formulaire")
    Tampon = .Range("B1:B4")
    .Range("B1:B4").ClearContents
    .Range("B1").Activate
    End With
    With Sheets("Base de donnée")
    Ligvid = .Columns("A").Find("", .Range("A1")).Row
    .Range("A" & Ligvid).Resize(1, 4) = Application.Transpose(Tampon)
    .Range("A1").Activate
    .Activate
    End With
    End Sub


    si tu veux reproduire le format de B1:B4 , il serait effectué dans le bloc "base de données" ou peut-^tre mieux par mise au format préalable de la feuille

    Michel
    0
    1. Eiffel01 Messages postés 22 Statut Membre 3
       
      Bonjour,
      Merci beaucoup de votre réponse. J'ai testé votre solution, cela marche bien (le copier/coller) mais l'erreur 400 s'affiche maintenant alors que tout marche correctement.
      Y aurait-il un moyen de régler cela ?
      0
      1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > Eiffel01 Messages postés 22 Statut Membre
         
        Bonjour,
        Sur quelle ligne se produit l'eereur (elle doit ^tre surligné en Jaune)
        0
    2. Eiffel01 Messages postés 22 Statut Membre 3
       
      L'erreur se trouve au niveau de ce passage :
      .Range("A1").Activate
      .Activate

      Cordialement
      0
    3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonjour,
      supprime la
      (c'était juste pour revenir en A1)
      ou peut-être (fais un essai)
      .Activate
      .range("A1").activate
      0
    4. Eiffel01 Messages postés 22 Statut Membre 3
       
      Bonjour,
      Je vous remercie pour votre aide. Tout marche pour le mieux !

      Bonne journée
      0