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 :

Extraction données classeur vers un autre classeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 96
    Points : 41
    Points
    41
    Par défaut Extraction données classeur vers un autre classeur
    "Bonjour"
    Je voudrais qu'a partir du classeur "Extraction" ouvrir le fichier " a extraire" et que automatiquement sa réalise les étapes suivantes:

    - Copie de la feuil1 " a extraire" toute entière dans " extraction" en feuil1 avec une insertion de colonne après la Colonne J et que dans celle ci soit rentré la formule "=DATEDIF(H3;I3;"d")" a toute les cellules a partir de la ligne 3.

    - Je voudrais aussi que sa réalise la conversion des dates en colonnes H et I avec la macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub CeQueMarcLTeDisait()
    Dim i As Integer
     
    For i = 0 To 3
        CONVERTIR Worksheets("Sheet1").Columns("H:H").Offset(, i)
    Next i
    End Sub
     
     
    Private Sub CONVERTIR(ByVal Plage As Range)
     
    Plage.TextToColumns Destination:=Plage.Cells(1, 1), DataType:=xlDelimited, FieldInfo:=Array(1, 5)
    End Sub

    Je vous mets en pièces jointe les 2 fichiers

    Cordialement
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti Avatar de LawNasK
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 144
    Points : 391
    Points
    391
    Par défaut
    Bonjour,

    C'est une question à laquelle tu aurais pu trouver la réponse avec la FAQ et la fonction recherche.

    Ouvrir un classeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim wb As Workbook
    Set wb = Application.Workbooks.Open("C:/chemin/classeur.xlsm")
    Copier une feuille de classeur dans un autre classeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim wb1 As Workbook, wb2 As Workbook
    wb1.Worksheets("feuille1").Copy After:=wb2.Worksheets("feuille1")
    Mettre "=DATEDIF(H3;I3;"d")" dans toutes les cellules :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim nbLigne As Interger, nbColonne As String
    nbLigne = Cells.SpecialCells(xlCellTypeLastCell).Row
    nbColonne = Range("A3").End(xlToLeft).Column 'Si renvoi un chiffre au lieu d'une lettre, cf plus bas
    Range("A1:"& nbColonne & nbLigne).Formula = "=DATEDIF(H3;I3;""d"")"
    Transformer un numéro de colonne en lettre de colonne (Si besoin):
    source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function Lettre_Colonne(colonne As Long) As String
    Lettre_Colonne= Split(Sheets(1).Cells(1, colonne ).Address, "$")(1)
    End Function

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Merci pour ces informations mais oui effectivement j'avais vu certains de ces codes mais je ne vois pas où les appliquer par exemple pour :


    Copier une feuille de classeur dans un autre classeur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim wb1 As Workbook, wb2 As Workbook
    wb1.Worksheets("feuille1").Copy After:=wb2.Worksheets("feuille1"
    est ce que je dois l'appliquer au Bouton Valider ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub BoutonValider_Click()
     
            Continuer = True
            Unload UserForm1
     
     
    End Sub
    Cordialement

    J'ai essayé de l’intégrer comme ceci mais sa ne fonctionne pas non plus :

    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
    Sub OuvertureFichiers(RepertoireFichier, NomFichier)
     
        Continuer = True
        For Each Wb In Workbooks
                Select Case Wb.Name
                    Case NomFichier
                        Wb.Activate
                        Continuer = False
                        Exit For
                End Select
        Next Wb
     
        If Continuer = True Then Workbooks.Open Filename:=RepertoireFichier & "\" & NomFichier
     
        Workbooks(NomFichier).Sheets(1).Copy Before:=Workbooks.Sheets(1)
     
    End Sub

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 924
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 924
    Points : 28 914
    Points
    28 914
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai essayé de l’intégrer comme ceci mais sa ne fonctionne pas non plus
    "Cela ne fonctionne pas" n'est pas une manière de signaler un problème.
    Soit il y a une erreur de syntaxe et le VB le signale tout de suite, soit il y a un autre type d'erreur et la procédure s'arrête en mettant en surbrillance la ligne où se situe l'erreur (ou dans certain cas la ligne appelante) et en tous les cas, un numéro d'erreur est affiché et un texte l'accompagne;
    Une autre possibilité est une erreur de conception et dans ce cas, le résultat attendu est faux.
    Merci de signaler d'une façon explicite, ce qui ne vas pas.

    Je n'ai pas lu toute la procédure mais je vois déjà que la ligne 15 est incorrecte. Workbooks est une collection qui attends un indice qui est soit un nombre, soit une valeur alphanumérique qui représente le nom du classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(NomFichier).Sheets(1).Copy Before:=Workbooks.Sheets(1)

  5. #5
    Membre averti Avatar de LawNasK
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 144
    Points : 391
    Points
    391
    Par défaut
    Citation Envoyé par Florian53 Voir le message
    est ce que je dois l'appliquer au Bouton Valider ?
    Tu peux tu fais bien ce que tu veux !

    Citation Envoyé par Florian53 Voir le message
    J'ai essayé de l’intégrer comme ceci mais sa ne fonctionne pas non plus :

    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
    Sub OuvertureFichiers(RepertoireFichier, NomFichier)
        
        Continuer = True
        For Each Wb In Workbooks
                Select Case Wb.Name
                    Case NomFichier
                        Wb.Activate
                        Continuer = False
                        Exit For
                End Select
        Next Wb
        
        If Continuer = True Then Workbooks.Open Filename:=RepertoireFichier & "\" & NomFichier
        
        Workbooks(NomFichier).Sheets(1).Copy Before:=Workbooks.Sheets(1)
      
    End Sub
    Comme là dit Philippe, Workbooks est une collection qu'il va falloir préciser.

    Je ne comprend pas le Wb.Activate dans ton switch. Pourrais-tu me l'expliquer ?
    Plus globalement, à quoi sert ton switch ? Tu ne défini pas Wb. J'avais pensé que c'était pour vérifier que le classeur du nom choisi existe bien mais visiblement ce n'est pas ça (ou alors je viens d'apprendre une nouvelle façon de faire, et dans ce cas là merci )

  6. #6
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Désolé, effectivement sa ne fonctionne pas et je n'ai aucun message d'erreur juste la première ligne qui est en surbrillance Jaune.

    Pour Wb.activate j'ai vu qu'elle n'était pas déclarer dans la première ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sub OuvertureFichiers(RepertoireFichier, NomFichier)
    je l'ai rajouter après pour voir mais ce n'est pas mieux .

    Pour le code c'est une personne du forum qui me l'a donné donc je ne sais pas spécialement à quoi sert Wb.activate

    Normalement ce code VBA a pour but d'ouvrir un classeur excel via un autre classeur afin d'y copier la "feuil1"

    L'ouverture du fichier fonctionne très bien c'est juste la copie de la feuille qui plante le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Workbooks(NomFichier).Sheets(1).Copy Before:=Workbooks.Sheets(1)
    j'ai essayé de mettre Workbooks.activate mais ne fonctionne pas non plus toujours la première ligne en surbrillance. Je ne vois pas quelle indice lui indiquer pour copier la feuil du classeur " a extraire" dans le classeur " exrtaction".

    Cordialement

  7. #7
    Membre averti Avatar de LawNasK
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 144
    Points : 391
    Points
    391
    Par défaut
    Essaye de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(NomFichier).Sheets(1).Copy Before:=Workbooks.Sheets(1)
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Sheets(1).Copy Before:=Workbook(NomFichier).Sheets(1)

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 924
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 924
    Points : 28 914
    Points
    28 914
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    L'ouverture du fichier fonctionne très bien c'est juste la copie de la feuille qui plante le code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(NomFichier).Sheets(1).Copy Before:=Workbooks.Sheets(1)
    Lis-tu les réponses que l'on te donne, parce-que tu affiches la ligne où je t'ai dis qu'il y avait un souci. J'ai même mis en évidence en rouge l'objet qui pose problème.
    Une collection DOIT être indicée soit Workbooks(1) soit Workbooks("monClasseur") comme une collection Worksheets, c'est soit Worksheets(2) soit Worksheets("maFeuille")

    Workbooks.activate, n'est pas correct non plus c'est ActiveWorkbook

  9. #9
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Bon j'ai trouvé pourquoi cela ne fonctionnait pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(NomFichier).Sheets(1).Copy Before:=Workbooks("Extraction").Sheets(1)
    En faite j'avais déjà fais un essai comme ceci avant d'ecrire sur le forum mais je me suis aperçu que si je marquais "Extraction.xls" se ne fonctionne pas alors que sans l’extension sa fonctionne.

    Pour Philippe Tulliez: Oui je lis bien les réponses et comme tu peux le voir j'ai recherché ou tu m'as indiqué de regarder.

    Merci pour ce problème.

    Est ce que à la suite de ce code je peux mettre un code pour qu'il m’intègre une nouvelle colonne avec des formules dans les cellules?

  10. #10
    Membre averti Avatar de LawNasK
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 144
    Points : 391
    Points
    391
    Par défaut
    Oui, comme je l'ai indiqué dans ma première réponse

  11. #11
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 924
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 924
    Points : 28 914
    Points
    28 914
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Est ce que à la suite de ce code je peux mettre un code pour qu'il m’intègre une nouvelle colonne avec des formules dans les cellules?
    Tu peux ajouter autant d'instructions que tu souhaites.
    Exemple pour insérer une colonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Columns(3).Insert Shift:=xlToRight
    Exemple pour insérer une formule en cellules F2:F17
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Range("F2:F17").Formula = "=D2:E2"
    Bien faire précéder ces lignes d'instructions par les objets Workbooks et Worksheets correspondants

  12. #12
    Membre habitué
    Homme Profil pro
    Programmeur en temps libre
    Inscrit en
    Février 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Programmeur en temps libre
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2015
    Messages : 68
    Points : 139
    Points
    139
    Par défaut
    Bonjour,

    Pourrait-tu être plus précis, la colonne en question est-elle la dernière colonne ou elle doit se trouver entre deux colonnes existantes ?

    Sinon pour l'insertion de la formule il te faut un code du genre (a adapter):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        derniereLigne = ActiveSheet.UsedRange.Rows.Count
        For i = 1 To derniereLigne
            Cells(i, numColonne).Formula = "=MA FORMULE"
        Next
    edit: on as tous répondu en même temps

  13. #13
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    La colonne dois etre a un endroit bien précis mais avec le code de Philippe sa va fonctionner je pense

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Columns(9).Insert Shift:=xlToRight
    Merci à tous pour vos réponses

  14. #14
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Je suis désolé mais j'ai encore un problème sur la copie de la feuille

    En fait le fichier qui est à extraire dispose d'une feuil "Sheet1" je n'ai pas le choix c'est mon logiciel qui extrait comme ça et dans mon classeur c'est en français donc sa me pose un problème.

    J'ai essayé un code afin de renommer sheet en feuil cela fonctionne mais sa bloque au niveau de la copie la 2 eme ligne du code est en surbrillance et je ne sais pas pk ça bloque:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Worksheets("Sheet1").Name = "Feuil1"
       Workbooks(NomFichier).Feuil(1).Copy Before:=Workbooks("Extraction").Feuil(1)
    Si quelqu'un peux m'eclaicir.

    Cordialement

  15. #15
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 924
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 924
    Points : 28 914
    Points
    28 914
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le VBA est un programme qui utilise la langue de Shakespeare or tu utilises le mot Feuil alors que c'est Worksheets(1) ou Sheets(1) mais le programme a dû mettre en évidence ce mot en t'affichant un message d'erreur.

    Malgré les réponses reçues qui traitent du même sujet, je crois que tu fais n'importe quoi en n'essayant même pas de comprendre.

    Un peu de lecture Formation Excel - VBA débutant et regarde tout particulièrement le chapitre sur les objets

    Utilise l'enregistreur de macros qui t'aurait donné le bon nom pour les objets

  16. #16
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    LawNask: J'ai essayé ta formule afin de mettre une formule dans chaque cellule mais je n'arrive pas a la faire fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub formule()
    Dim nbLigne As Integer, nbColonne As String
    nbLigne = Cells.SpecialCells(xlCellTypeLastCell).Row
    nbColonne = Range("J3").End(xlToLeft).Column
    Range("J3:& nbColonne & nbLigne").Formula = "=DATEDIF(H3;I3;""d"")"
    End Sub
    Il me surligne la ligne Range peux tu m'expliquer pourquoi cela ne fonctionne pas ?

  17. #17
    Membre averti Avatar de LawNasK
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 144
    Points : 391
    Points
    391
    Par défaut
    Citation Envoyé par Florian53 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("J3:& nbColonne & nbLigne").Formula = "=DATEDIF(H3;I3;""d"")"
    Il me surligne la ligne Range peux tu m'expliquer pourquoi cela ne fonctionne pas ?
    Le deuxième guillemet est mal placé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("J3:" & nbColonne & nbLigne).Formula = "=DATEDIF(H3;I3;""d"")"

  18. #18
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    J'ai essayé comme tu m'as dis mais sa ne fonctionne toujours pas la ligne est toujours en surbrillance

    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
    21
    22
    23
    24
    25
    26
    27
    28
    Sub OuvertureFichiers(RepertoireFichier, NomFichier)
     
        Continuer = True
        For Each Wb In Workbooks
                Select Case Wb.Name
                    Case NomFichier
                        Wb.Activate
                        Continuer = False
                        Exit For
                End Select
        Next Wb
     
        If Continuer = True Then Workbooks.Open Filename:=RepertoireFichier & "\" & NomFichier
     
       Workbooks(NomFichier).Sheets(1).Copy Before:=Workbooks("Extraction.xlsm").Sheets(1)
        Sheets(1).Activate
        Columns("J:J").Insert Shift:=xlToRight
        Call formule
        Worksheets("Sheet1").Name = "Feuil1"
        Workbooks(NomFichier).Close False
        End Sub
     
    Sub formule()
    Dim nbLigne As Integer, nbColonne As String
    nbLigne = Cells.SpecialCells(xlCellTypeLastCell).Row
    nbColonne = Range("J3").End(xlToLeft).Column
    Range("J3:" & nbColonne & nbLigne).Formula = "=DATEDIF(H3;I3;""d"")"
    End Sub
    Je ne comprend pas pourquoi .

  19. #19
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 924
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 924
    Points : 28 914
    Points
    28 914
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Sans avoir testé la procédure, cela crève les yeux
    Dans la procédure nommée Formule, on déclare (ligne 24) la variable nbColonne comme un String, ligne 21, on l'utilise comme un nombre et ligne 27 on utilise cette chaîne qui est un nombre pour définir la colonne alors qu'avec Range , il faut utiliser une lettre (voir en rouge).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("J3:" & nbColonne & nbLigne).Formula = "=DATEDIF(H3;I3;""d"")"
    On est loin d'avoir terminé avec cette discussion

Discussions similaires

  1. Copier le Thisworkbook d'un classeur vers un autre classeur
    Par aweb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/10/2013, 13h16
  2. Extraction données BD vers une autre
    Par mouadmagan dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 16/05/2013, 14h51
  3. [XL-2007] exporter les donnée excel vers un autre classeur excel en vba
    Par aminee1666 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/06/2011, 10h58
  4. [XL-2007] Copie données d'un classeur vers un autre classeur
    Par carlux3 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/12/2010, 14h14
  5. [AC-2003] Copier une plage de cellules d'un classeur vers un autre classeur
    Par bdcds dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/06/2009, 14h58

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