IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur 1004 Transpose + formule [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Responsable administratif à la pension
    Inscrit en
    Février 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable administratif à la pension

    Informations forums :
    Inscription : Février 2006
    Messages : 72
    Par défaut Erreur 1004 Transpose + formule
    Bonjour,

    J'utilise un tableau pour sélectionner et recopier des données d'une feuille à une autre dans un fichier excel.

    J'ai trouvé sur le net un exemple que j'ai adapté. J'y ai rajouté des formules 'RECHERCHEV' et j'obtiens une erreur 1004 à l'exécution. En retirant le caractère '=' le problème ne se pose plus mais m'oblige à faire un remplacement globalisé sur les formules entrées.

    Avez-vous une idée pour éviter ce problème ?

    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub Transfert()
    Dim tablo1, i&, tablo2(), n&
    tablo1 = Sheets("Feuil3").Range("A1:L" & Sheets("Feuil3").[A65536].End(xlUp).Row)
    For i = 1 To UBound(tablo1)
      If tablo1(i, 1) Like "20" Then
        ReDim Preserve tablo2(3, n)
        tablo2(0, n) = tablo1(i, 7)
        tablo2(1, n) = "=RECHERCHEV(D" & n + 1 & ";NN!A$1:C$894;2;)"
        tablo2(2, n) = "=RECHERCHEV(D" & n + 1 & ";NN!A$1:C$894;3;)"
        tablo2(3, n) = tablo1(i, 9)
        n = n + 1
      End If
    Next
    If n Then
      Sheets("Prescription").[A1:D65536].ClearContents
      Sheets("Prescription").[A1].Resize(n, 4) = Application.Transpose(tablo2)
    End If
    End Sub
    Merci d'avance à quiconque voudrait se pencher sur mon problème...

    Hologramo

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour hologram,

    Je te propose de t'orienter vers la méthode FormulaLocal.
    Tu vas voir, ça va tout de suite mieux fonctionner !

    Cordialement,
    Kimy

  3. #3
    Membre confirmé
    Profil pro
    Responsable administratif à la pension
    Inscrit en
    Février 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable administratif à la pension

    Informations forums :
    Inscription : Février 2006
    Messages : 72
    Par défaut
    Merci Kimy_Ire pour ta réponse,

    Je viens de regarder ce que tu propose et si je ne me trompe pas tu veux permettre à VBA de traduire ma formule. Si c'est cela, j'avais déjà essayé avec la formule VLOOKUP sans plus de succès....

    A toutes fins utiles je travaille avec excel 2013.

    Hologram

  4. #4
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour hologram,

    Non...
    Voici un exemple très simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub form()
    Range("A1").FormulaLocal = "=SOMME(A1:B1)"
    End Sub
    Cordialement,
    Kimy

  5. #5
    Membre confirmé
    Profil pro
    Responsable administratif à la pension
    Inscrit en
    Février 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable administratif à la pension

    Informations forums :
    Inscription : Février 2006
    Messages : 72
    Par défaut
    Bonjour à tous le monde et particulièrement à Kimy,

    J'ai intégré les informations dans mon code en isolant celles-ci du tableau transmis comme ceci et ça marche à merveille !

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Sub Transfert()
    Dim tablo1, i&, tablo2(), n&, FinColonne
    tablo1 = Sheets("Feuil3").Range("A1:L" & Sheets("Feuil3").[A65536].End(xlUp).Row)
    For i = 1 To UBound(tablo1)
      If tablo1(i, 1) Like "20" Then
        ReDim Preserve tablo2(3, n)
        tablo2(0, n) = tablo1(i, 7)
        tablo2(3, n) = tablo1(i, 9)
        n = n + 1
      End If
    Next
    If n Then
      Sheets("Prescription").[A1:D65536].ClearContents
      Sheets("Prescription").[A1].Resize(n, 4) = Application.Transpose(tablo2)
    End If
    FinColonne = Sheets("Prescription").[A65536].End(xlUp).Row
    Range("B1:B" & FinColonne).FormulaLocal = "=RECHERCHEV(D1;NN!A$1:C$894;2;)"
    Range("C1:C" & FinColonne).FormulaLocal = "=RECHERCHEV(D1;NN!A$1:C$894;3;)"
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/04/2014, 11h43
  2. Formule EXCEL en VBA erreur 1004
    Par svetlan dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2012, 16h36
  3. Formule EXCEL en VBA erreur 1004
    Par svetlan dans le forum VBScript
    Réponses: 0
    Dernier message: 28/11/2012, 09h51
  4. [XL-2010] Erreur d'exécution '1004': La formule que vous avez tapée contient une erreur
    Par corinthien dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/10/2010, 17h46
  5. [XL-2003] erreur de formulation ? (erreur 1004)
    Par cecyl dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/06/2010, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo