Argument ou appel de provédure incorrect
Bonjour à tous,
Lors de l'éxecutino d'un macro j'ai le message suivant : "Argument ou appel de provédure incorrect" et le passage surligné en jaune est le suivant :
.Hyperlinks.Add Anchor:=.Cells(250, 1), _
Address:=.Cells(I + 250, 1), _
TextToDisplay:=.Cells(I + 250, 1).ValueQuelle en est la cause? Où est le problème?
Et comment solutionner tout cela?
De plus j'utilise exactement le meme code, un peu au dessus dans la meme macro,
Je mets en dessous toute ma macro (très longue) si ca peut aider.
Merci d'avance
Tioch
Sub ajout()
Dim I
Dim datefile, fs, fname
With Application.FileSearch
' adresse du répertoire (celui ou se trouve le fichier)
.LookIn = ThisWorkbook.Path
' type ou nom du fichier
.Filename = "*.xls"
' recherche dans les sous-dossiers
.SearchSubFolders = True
' executer la recherche
.Execute
'Création d'objet pour tous les fichiers trouvés
For I = 1 To .FoundFiles.Count
Set fs = CreateObject("Scripting.FileSystemObject")
Set fname = fs.GetFile(.FoundFiles(I))
Worksheets("Sheet3").Range("A" & I) = fname.DateLastModified
Worksheets("Sheet3").Range("B" & I) = fname.DateCreated
'Comparaison des dates de modifications : entre celle de chaque fichier et de la dernière utilisation de cette macro
If Worksheets("Sheet3").Range("C" & 3).Value < Worksheets("Sheet3").Range("A" & I).Value Then
MsgBox "Mise à jour"
'Réecriture de chaque ligne à mettre à jour
With ActiveSheet
.Hyperlinks.Add Anchor:=.Cells(I + 5, 1), _
Address:=.Cells(I + 5, 1), _
TextToDisplay:=.Cells(I + 5, 1).Value
.Hyperlinks(I).ScreenTip = " VERS:" & .Cells(I + 5, 1).Value
.Cells(I + 5, 2) = "='" & fname & "'!1"
.Cells(I + 5, 3) = "='" & fname & "'!2"
.Cells(I + 5, 4) = "='" & fname & "'!3"
.Cells(I + 5, 5) = "='" & fname & "'!4"
.Cells(I + 5, 6) = "='" & fname & "'!5"
.Cells(I + 5, 7) = "='" & fname & "'!6"
.Cells(I + 5, 8) = "='" & fname & "'!7"
.Cells(I + 5, 9) = "='" & fname & "'!8"
.Cells(I + 5, 10) = "='" & fname & "'!9"
.Cells(I + 5, 11) = "='" & fname & "'!10"
.Cells(I + 5, 12) = "='" & fname & "'!11"
.Cells(I + 5, 13) = "='" & fname & "'!12"
.Cells(I + 5, 14) = "='" & fname & "'!13"
.Cells(I + 5, 15) = "='" & fname & "'!14"
.Cells(I + 5, 16) = "='" & fname & "'!15"
.Cells(I + 5, 17) = "='" & fname & "'!16"
.Cells(I + 5, 18) = "='" & fname & "'!17"
.Cells(I + 5, 19) = "='" & fname & "'!18"
.Cells(I + 5, 20) = "='" & fname & "'!19"
.Cells(I + 5, 21) = "='" & fname & "'!20"
.Cells(I + 5, 22) = "='" & fname & "'!21"
.Cells(I + 5, 23) = "='" & fname & "'!22"
.Cells(I + 5, 24) = "='" & fname & "'!23"
.Cells(I + 5, 25) = "='" & fname & "'!24"
.Cells(I + 5, 26) = "='" & fname & "'!25"
.Cells(I + 5, 27) = "='" & fname & "'!26"
.Cells(I + 5, 28) = "='" & fname & "'!27"
.Cells(I + 5, 29) = "='" & fname & "'!28"
.Cells(I + 5, 30) = "='" & fname & "'!29"
.Cells(I + 5, 31) = "='" & fname & "'!30"
' 32) = formule DROITE(BV;3) pour sortir juste l'indice
.Cells(I + 5, 33) = "='" & fname & "'!32"
.Cells(I + 5, 34) = "='" & fname & "'!33"
.Cells(I + 5, 35) = "='" & fname & "'!34"
.Cells(I + 5, 36) = "='" & fname & "'!35"
.Cells(I + 5, 37) = "='" & fname & "'!36"
.Cells(I + 5, 38) = "='" & fname & "'!37"
.Cells(I + 5, 39) = "='" & fname & "'!38"
.Cells(I + 5, 40) = "='" & fname & "'!39"
.Cells(I + 5, 41) = "='" & fname & "'!40"
.Cells(I + 5, 42) = "='" & fname & "'!41"
.Cells(I + 5, 43) = "='" & fname & "'!42"
.Cells(I + 5, 44) = "='" & fname & "'!43"
.Cells(I + 5, 45) = "='" & fname & "'!44"
.Cells(I + 5, 46) = "='" & fname & "'!45"
.Cells(I + 5, 47) = "='" & fname & "'!46"
.Cells(I + 5, 48) = "='" & fname & "'!47"
.Cells(I + 5, 49) = "='" & fname & "'!48"
.Cells(I + 5, 50) = "='" & fname & "'!49"
.Cells(I + 5, 51) = "='" & fname & "'!50"
.Cells(I + 5, 52) = "='" & fname & "'!51"
.Cells(I + 5, 53) = "='" & fname & "'!52"
.Cells(I + 5, 54) = "='" & fname & "'!53"
.Cells(I + 5, 55) = "='" & fname & "'!54"
.Cells(I + 5, 56) = "='" & fname & "'!55"
.Cells(I + 5, 57) = "='" & fname & "'!56"
.Cells(I + 5, 58) = "='" & fname & "'!57"
.Cells(I + 5, 59) = "='" & fname & "'!58"
.Cells(I + 5, 60) = "='" & fname & "'!59"
.Cells(I + 5, 61) = "='" & fname & "'!60"
.Cells(I + 5, 62) = "='" & fname & "'!61"
.Cells(I + 5, 63) = "='" & fname & "'!62"
.Cells(I + 5, 64) = "='" & fname & "'!63"
.Cells(I + 5, 65) = "='" & fname & "'!64"
.Cells(I + 5, 66) = "='" & fname & "'!65"
.Cells(I + 5, 67) = "='" & fname & "'!66"
.Cells(I + 5, 68) = "='" & fname & "'!67"
.Cells(I + 5, 69) = "='" & fname & "'!68"
.Cells(I + 5, 70) = "='" & fname & "'!69"
.Cells(I + 5, 71) = "='" & fname & "'!70"
.Cells(I + 5, 72) = "='" & fname & "'!71"
.Cells(I + 5, 73) = "='" & fname & "'!72"
.Cells(I + 5, 74) = "='" & fname & "'!73"
.Cells(I + 5, 75) = "='" & fname & "'!74"
.Cells(I + 5, 76) = "='" & fname & "'!75"
.Cells(I + 5, 77) = "='" & fname & "'!76"
.Cells(I + 5, 78) = "='" & fname & "'!77"
.Cells(I + 5, 79) = "='" & fname & "'!78"
.Cells(I + 5, 80) = "='" & fname & "'!79"
.Cells(I + 5, 81) = "='" & fname & "'!80"
.Cells(I + 5, 82) = "='" & fname & "'!81"
.Cells(I + 5, 83) = "='" & fname & "'!82"
.Cells(I + 5, 84) = "='" & fname & "'!83"
.Cells(I + 5, 85) = "='" & fname & "'!84"
.Cells(I + 5, 86) = "='" & fname & "'!85"
.Cells(I + 5, 87) = "='" & fname & "'!86"
.Cells(I + 5, 88) = "='" & fname & "'!87"
.Cells(I + 5, 89) = "='" & fname & "'!88"
.Cells(I + 5, 90) = "='" & fname & "'!89"
.Cells(I + 5, 91) = "='" & fname & "'!90"
.Cells(I + 5, 92) = "='" & fname & "'!91"
.Cells(I + 5, 93) = "='" & fname & "'!92"
.Cells(I + 5, 94) = "='" & fname & "'!93"
.Cells(I + 5, 95) = "='" & fname & "'!94"
.Cells(I + 5, 96) = "='" & fname & "'!95"
.Cells(I + 5, 97) = "='" & fname & "'!96"
.Cells(I + 5, 98) = "='" & fname & "'!97"
End With
End If
If Worksheets("Sheet3").Range("C" & 3).Value < Worksheets("Sheet3").Range("B" & I).Value Then
Cells(65536, 1).End(xlUp)(2).Select
MsgBox "DT créée"
'Ecriture de chaque ligne à créer
With Application
.ActiveCell.Offset(0, 1) = "='" & fname & "'!1"
.ActiveCell.Offset(0, 2) = "='" & fname & "'!2"
.ActiveCell.Offset(0, 3) = "='" & fname & "'!3"
.ActiveCell.Offset(0, 4) = "='" & fname & "'!4"
.ActiveCell.Offset(0, 5) = "='" & fname & "'!5"
.ActiveCell.Offset(0, 6) = "='" & fname & "'!6"
.ActiveCell.Offset(0, 7) = "='" & fname & "'!7"
.ActiveCell.Offset(0, 8) = "='" & fname & "'!8"
.ActiveCell.Offset(0, 9) = "='" & fname & "'!9"
.ActiveCell.Offset(0, 10) = "='" & fname & "'!10"
.ActiveCell.Offset(0, 11) = "='" & fname & "'!12"
.ActiveCell.Offset(0, 12) = "='" & fname & "'!13"
.ActiveCell.Offset(0, 13) = "='" & fname & "'!14"
.ActiveCell.Offset(0, 14) = "='" & fname & "'!15"
.ActiveCell.Offset(0, 15) = "='" & fname & "'!16"
.ActiveCell.Offset(0, 16) = "='" & fname & "'!17"
.ActiveCell.Offset(0, 17) = "='" & fname & "'!18"
.ActiveCell.Offset(0, 18) = "='" & fname & "'!19"
.ActiveCell.Offset(0, 19) = "='" & fname & "'!20"
.ActiveCell.Offset(0, 20) = "='" & fname & "'!21"
.ActiveCell.Offset(0, 21) = "='" & fname & "'!22"
.ActiveCell.Offset(0, 22) = "='" & fname & "'!23"
.ActiveCell.Offset(0, 23) = "='" & fname & "'!24"
.ActiveCell.Offset(0, 24) = "='" & fname & "'!25"
.ActiveCell.Offset(0, 25) = "='" & fname & "'!26"
.ActiveCell.Offset(0, 26) = "='" & fname & "'!27"
.ActiveCell.Offset(0, 27) = "='" & fname & "'!28"
.ActiveCell.Offset(0, 28) = "='" & fname & "'!29"
.ActiveCell.Offset(0, 29) = "='" & fname & "'!30"
.ActiveCell.Offset(0, 30) = "='" & fname & "'!31"
.ActiveCell.Offset(0, 32) = "='" & fname & "'!33"
.ActiveCell.Offset(0, 33) = "='" & fname & "'!34"
.ActiveCell.Offset(0, 34) = "='" & fname & "'!35"
.ActiveCell.Offset(0, 35) = "='" & fname & "'!36"
.ActiveCell.Offset(0, 36) = "='" & fname & "'!37"
.ActiveCell.Offset(0, 37) = "='" & fname & "'!38"
.ActiveCell.Offset(0, 38) = "='" & fname & "'!39"
.ActiveCell.Offset(0, 39) = "='" & fname & "'!40"
.ActiveCell.Offset(0, 40) = "='" & fname & "'!41"
.ActiveCell.Offset(0, 41) = "='" & fname & "'!42"
.ActiveCell.Offset(0, 42) = "='" & fname & "'!43"
.ActiveCell.Offset(0, 43) = "='" & fname & "'!44"
.ActiveCell.Offset(0, 44) = "='" & fname & "'!45"
.ActiveCell.Offset(0, 45) = "='" & fname & "'!46"
.ActiveCell.Offset(0, 46) = "='" & fname & "'!47"
.ActiveCell.Offset(0, 47) = "='" & fname & "'!48"
.ActiveCell.Offset(0, 48) = "='" & fname & "'!49"
.ActiveCell.Offset(0, 49) = "='" & fname & "'!50"
.ActiveCell.Offset(0, 50) = "='" & fname & "'!51"
.ActiveCell.Offset(0, 51) = "='" & fname & "'!52"
.ActiveCell.Offset(0, 52) = "='" & fname & "'!53"
.ActiveCell.Offset(0, 53) = "='" & fname & "'!54"
.ActiveCell.Offset(0, 54) = "='" & fname & "'!55"
.ActiveCell.Offset(0, 55) = "='" & fname & "'!56"
.ActiveCell.Offset(0, 56) = "='" & fname & "'!57"
.ActiveCell.Offset(0, 57) = "='" & fname & "'!58"
.ActiveCell.Offset(0, 58) = "='" & fname & "'!59"
.ActiveCell.Offset(0, 59) = "='" & fname & "'!60"
.ActiveCell.Offset(0, 60) = "='" & fname & "'!61"
.ActiveCell.Offset(0, 61) = "='" & fname & "'!62"
.ActiveCell.Offset(0, 62) = "='" & fname & "'!63"
.ActiveCell.Offset(0, 63) = "='" & fname & "'!64"
.ActiveCell.Offset(0, 64) = "='" & fname & "'!65"
.ActiveCell.Offset(0, 65) = "='" & fname & "'!66"
.ActiveCell.Offset(0, 66) = "='" & fname & "'!67"
.ActiveCell.Offset(0, 67) = "='" & fname & "'!68"
.ActiveCell.Offset(0, 68) = "='" & fname & "'!69"
.ActiveCell.Offset(0, 68) = "='" & fname & "'!70"
.ActiveCell.Offset(0, 70) = "='" & fname & "'!71"
.ActiveCell.Offset(0, 71) = "='" & fname & "'!72"
.ActiveCell.Offset(0, 72) = "='" & fname & "'!73"
.ActiveCell.Offset(0, 73) = "='" & fname & "'!74"
.ActiveCell.Offset(0, 74) = "='" & fname & "'!75"
.ActiveCell.Offset(0, 75) = "='" & fname & "'!76"
.ActiveCell.Offset(0, 76) = "='" & fname & "'!77"
.ActiveCell.Offset(0, 77) = "='" & fname & "'!78"
.ActiveCell.Offset(0, 78) = "='" & fname & "'!79"
.ActiveCell.Offset(0, 79) = "='" & fname & "'!80"
.ActiveCell.Offset(0, 80) = "='" & fname & "'!81"
.ActiveCell.Offset(0, 81) = "='" & fname & "'!82"
.ActiveCell.Offset(0, 82) = "='" & fname & "'!83"
.ActiveCell.Offset(0, 83) = "='" & fname & "'!84"
.ActiveCell.Offset(0, 84) = "='" & fname & "'!85"
.ActiveCell.Offset(0, 85) = "='" & fname & "'!86"
.ActiveCell.Offset(0, 86) = "='" & fname & "'!87"
.ActiveCell.Offset(0, 87) = "='" & fname & "'!88"
.ActiveCell.Offset(0, 88) = "='" & fname & "'!89"
.ActiveCell.Offset(0, 89) = "='" & fname & "'!90"
.ActiveCell.Offset(0, 90) = "='" & fname & "'!91"
.ActiveCell.Offset(0, 91) = "='" & fname & "'!92"
.ActiveCell.Offset(0, 92) = "='" & fname & "'!93"
.ActiveCell.Offset(0, 93) = "='" & fname & "'!94"
.ActiveCell.Offset(0, 94) = "='" & fname & "'!95"
.ActiveCell.Offset(0, 95) = "='" & fname & "'!96"
.ActiveCell.Offset(0, 96) = "='" & fname & "'!97"
.ActiveCell.Offset(0, 97) = "='" & fname & "'!98"
End With
End If
Next
End With
'informer la date de la mise à jour, utile pour la prochaine macro
Worksheets("Sheet3").Range("C" & 3) = Now
End SubBonjour
Très compliqué pour moi
J'ai essayé ta macro dans un fichier vierge et la plantage sur plantage
Je ne comprends pas
Tu rajoutes en colonne A et B les dates (modif et création) et si la modif est différente de la dernière utilisation de cette macro tu mets à jour la ligne
Alors pourquoi tu travailles 5 lignes en dessous ?
.Cells(I + 5, 1)et dans le 1er exemple tu travailles 250 lignes en dessous
Pour le 1er problème en remplaçant TextToDisplay:=.Cells(I + 5, 1).Value par TextToDisplay:=.Cells(I + 5, 1).Text cela passe
Mais ensuite j'ai des plantages
Alors il faudrait savoir ce que tu veux exactement et donner un (ou plusieurs) exemples de ce que tu obtiens
a te lire
Merci Banzai64,
Pour le début c'est exactement ca, mais je travaille 5 lignes en dessou juste pour un aspect esthétique, je mets un titre au dessus, des boutons, et des cellules de tri pour toutes les colonnes.
Pour la suite j'ai également remplacé le .value par . text et ca fonctionne également mais après c'est bien plantage sur plantage.
Ce que je veux est comme tu l'as décrit au début.
Je veux comparer la date de modif de fichiers excel en fonction du fichier synthèse utilisé, les comparer et mettre à jour la ligne correspondant au fichier si la date de modif est supérieure.
De meme pour la date de création, je veux comparer et CREER (en dessous du tableau) une ligne si la date est supérieure à la dernière mise a jour faite sur le fichier synthèse.
Ainsi tu va comprende pourquoi je travaille à 250ème ligne : parce que si je laisse à 5, une ligne sera créée mais remplacera une ligne (correspondant à un fichier) deja créée. Et ne pouvant pas (et ne sachant pas) utilisé Activecell dans cet exemple, j'ai mis 250 pour pouvoir tester mon code (mon tableau faisant 245 lignes)
J'espere que c'est assez clair, sinon demande moi des précisions.
Bonjour
Un fichier serait mieux avec ce que tu obtiens et ce que tu veux obtenir
Activesheet et Sheets("Sheet3") ne sont pas les mêmes feuilles ?
Si ce sont les mêmes les dates vont écraser les infos du Lien
Si ce ne sont pas les mêmes les liens ne vont pas donner grand chose
C'est pour cela
A suivre
Salut Banzai et merci de ton aide.
Pour répondre Activesheet et Sheet3 ne sont pas les mêmes feuilles!
Pour l'exemple je n'ai pas pu mettre le fichier original pcq confidentiel, mais j'ai fait un exemple assez précis de ce à quoi il ressemble (en bcp plus petit et sans vraie valeur).
Jspr que ca sera suffisant.
Si tu peux voir comment faire.
Encore merci et bon début de journée
Bonjour
J'ai interprété le fichier comme je l'ai compris
A toi de dire ce qui ne va pas
A te lire
Bonjour,
Merci bien de t'en occuper.
Alors pour le code, j'avoue c'est plus clair.
Une question et une remarque :
- Ne faut-il pas laisser Worksheets("Sheet3") pour les If si la feuille active est la Sheet1? Ce qui sera le cas, l'activesheet est la sheet1.
- il manque une seule pour que le code réponde exactement à ce que je veux.
Il faudrait que, pour la création d'un fichier, une nouvelle ligne soit créée à la suite du tableau et pas à la 250ème ligne (si le tableau fait 4 lignes, la nouvelles ligne s'ajoute sur la ligne 10 (6 lignes de présentation + les 4 lignes du tableau).
Pour moi il fallait selectionner la case vide juste en dessous du tableau et aprè y mettre les nouvelles infos. Mais je n'arrive pas à remplacer le Cells(i + 250, 1) par un ActiveCell par exemple.
Aurais tu une solution?
En tout cas grand merci encore, ça me fait bien avancer
Bonjour
Compliqué parce que je ne sais pas pas ce que tu veux faire exactement
Ce que j'ai compris
Tu listes tes fichiers
Tu crées un lien Sheet1 A qui pointe vers ......?
En colonne B C D que tu veux faire ?
Normalement avec ce code tu rajoutes à la fin du tableau : ça Ok
En cas de suppression de fichier tous les décalages entre Sheet3 et Sheet1 ne sont plus bon
Si le fichier (dont tu notes modif et création) en ligne (exemple 10) normalement pointe 5 lignes plus bas sur Sheet1
En cas de suppression de fichier ou d'ajout il y aura un autre décalage et si tu trouves une modif à faire tu ne pointeras pas sur la bonne ligne
Je m'y perds
A suivre
Voilà ou j'en suis
Salut,
Oui oui je sais c'est pas très clair et facile, même moi je m'y perds un peu parfois.
Je vais essayer d'être le plus clair possible, d'expliquer ca étape par étape.
- Tout d'abord je remplis un tableau dans la feuille "Sheet1".
Ce tableau contient : dans la colonne A, des liens hypertexte vers d'autres fichiers excel.
dans les colonnes suivantes, des données de chaque fichier nommé en colonne A(pour cela j'ai mis l'adresse des cases de chaque fichier)
Ce tableau se situe à la 6ème ligne pour pouvoir placer un titre, des boutons et des cellules de tri au dessus de chaque colonne.
- Dans un deuxième temps, je créé un code permettant de mettre à jour ces données, lorsque l'on modifie des données dans les différents fichiers Excel. Ainsi je note la date de modification de chaque fichier, je la compare à la date de la dernière utilisation de ce code (ainsi la dernière mise à jour), et pour ceux dont la date est ultérieure, je renote toutes les données de la ligne correspondant au fichier modifié!
- Dans un troisième temps, je créé un code (dans le même que le précédent) qui permet d'ajouter une ligne, en fin du tableau précédemment remplis, qui correspond à un nouveau fichier créé. Il faut donc ajouter le lien hypertexte et toutes les données sur ladite ligne. Et pour cela, j'utilise la date de création de tous les fichiers. Je fais une liste dans la feuille "Sheet3" (comme pour dans la mise à jour), je le compare à la dernière date de mise à jour et si elle est supérieure, je rajoute une ligne en dessous du tableau.
Il n'y a jamais de suppression de fichier (ce qui facilite les choses). Et en cas d'ajout il n'y aura pas de décalage car j'ajoute la ligne à la fin.
J'espere être un peu plus clair. Sinon hésite pas, pose n'importe quelle question.
Merci encore
Bonjour
Bon suite
J'ai crée un dossier test
J'y ai mis des fichiers et des dossiers
Plus le fichier de ce fil
J'ai exécuter la macro "remplir_tableau" : Pas de soucis
Ensuite j'ai cliqué sur mise à jour : Pas soucis
Ensuite j'ai supprimé un fichier --> Cliqué sur mise à jour : Le fichier effacé toujours présent dans la liste
Ensuite j'ai modifié un fichier --> Cliqué sur mise à jour : Modification du mauvais fichier (décalage de 1)
Ensuite J'ai remis le fichier précédemment effacé : Cliqué sur mise à jour : Le fichier est inscrit à la fin
Ensuite j'ai modifié un fichier --> Cliqué sur mise à jour : Modification du 1er (par ordre alphabétique c'est lui le premier) mais comme c'est un fichier nouveau j'aurai du modifier le dernier
Je pense qu'il faut revoir toute l'analyse du programme
A te lire
EDIT : -- 12 Juil 2011, 21:53 --
Bonjour
Voici mon idée
Bonjour Banzai,
Tout d'abord merci pour tout ce que tu fais, c'est très gentil et altruiste.
Pour le code , je l'ai testé aussi sur mes dossiers.
Premièrement, le tableau sera toujours rempli, les tableaux sur lesquels je travaille sont déjà tous utilisés depuis longtemps et donc il n'y en a pas de vide. Donc de le début du code visant à vérifier s'il y a des données, selon moi, ne sert à rien.
De même, il n'y aura jamais de fichiers supprimés. Donc la deuxième partie du codage visant à vérifier la présence de fichier n'est pas utile non plus. (Mais merci qd meme d'avoir trouvé des solutions, ça pourra toujours me servir plus tard).
Ensuite, l'idée de ne pas se servir de la page Sheet3 me plait bcp, c'est se que je voulais faire au début, sans jamais de réussite, donc ça c'est cool!!
Je voulais également trier les colonnes à la fin du programme pour que cela soit plus clair, donc ça c'est bien aussi.
Donc je ne comprends pas trop pourquoi le programme que je réalisais n'était pas bon du tout et qu'il faut tout revoir?
Lorsque je modifiais une valeur dans un fichier, c'est la bonne case de la bonne ligne qui se modifiait. Alors effectivement je n'ai pas reussi à ajouter un fichier, donc je ne sais pas comment ca se passe. Mais si on réalise les modifications, puis la création, puis le tri des données et qu'il n'y a pas de suppression de ligne, du coup il n'y a plus tous ces problèmes que tu décris : de cases qui ne se modifient pas à la bonne ligne notammnen ??
Enfin je me trompe surement mais j'ai l'impression de ça.
Enfin de meme je ne comprends la phrase que tu mets : "Dans tous les cas on commence à la ligne 6". Je trouvais ça plus logique de placer les nouvelles lignes à la fin et de trier après, non ?
Encore merci
Bon début de journée
Tioch
Bonjour
J'ai fait ce programme dans MA logique personnelle à moi tout seul , surtout d'après ce que je comprenais du problème, mais je te rassure je me plante régulièrement
Moi dans un un dossier il y a des suppressions et des rajouts
Et c'est sur en cas de suppression il y avait un problème
Mais bon tu peux reprendre ton code
juste à modifier l'instruction pour trouver la dernière ligne en cas de nouveau fichier
Lg = Range("A" & Rows.Count).End(xlUp).Row + 1Penses à trier
A quoi sert la modification ? Tu changes quoi ?
tioch a écrit :"Dans tous les cas on commence à la ligne 6"
C'est juste une remarque pour indiquer que si le tableau est vide, je le remplirais à partir de la ligne 6
Bonne journée
Ah Ok très bien. Excuse moi alors, j'avais pas saisis.
Du coup au final j'ai repris mon code, modifier ce qui n'allait pas en prenant des bribes de ton code. Cela marche beaucoup mieux.
Ok pour le "Dans tous les cas on commence à la ligne 6", je n'avais pas compris.
Pour la modification, en fait je modifie des valeurs dans les cellules des fichiers Excel qui sont en lien hypertexte dans le gros fichier synthèse. Donc bien sur je veux que ces données soient également modifiées dans le gros fichier synthèse.
En tout cas il ne me reste plus qu'à trier et c'est bon je pense.
C'est génial. Ca fait 3 semaines que je suis dessus.
Merci bien pour ton aide, en plus c'est pas la première fois. Juste génial
-- 13 Juil 2011, 11:29 --
Encore moi, parce que par contre je ne comprends pas le tri.
Comment tu fais?
Faut-il selectionner le tableau?
Si le tableau fait 150 colonnes et 250 lignes ca marche aussi?
Juste avec ce code là ça fonctionne? Parce que en regardant sur internet d'autres codes (malheuresement ils sont tous pas comptatibles avec mes données) ils sont beaucoup plus longs!!
Encore merci.