Problème de macro sur le nommage de feuille
Résolu/Fermé
cooljuly
Messages postés
40
Date d'inscription
mercredi 23 mars 2016
Statut
Membre
Dernière intervention
6 septembre 2016
-
19 avril 2016 à 16:29
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 25 avril 2016 à 11:20
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 25 avril 2016 à 11:20
A voir également:
- Problème de macro sur le nommage de feuille
- Feuille de pointage excel - Télécharger - Tableur
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment supprimer une feuille sur word - Guide
- Macro word - Guide
- Bruler feuille de laurier - Guide
5 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 19/04/2016 à 19:50
Modifié par Patrice33740 le 19/04/2016 à 19:50
Bonjour,
Ta macro est incomplète !
Mais il y a déjà un source d'erreur :
D'autre part, si tu utilises le CodeName des objets (Feuil1, ...) il est inutile de définir en plus une variable objet !
Par contre, pour limiter les problèmes, il est préférable de les renommer différemment du nom par défaut (modifier directement le CodeName à partir du VBE dans la fenêtre propriétés). Par exemple tu pourrais renommer Feuil1 en feuilRec et Feuil2 en feuilTable.
Cordialement
Patrice
Ta macro est incomplète !
Mais il y a déjà un source d'erreur :
DerLigRecap = Cells(Rows.Count, 2).End(xlUp).Rowil est plus sûr de préciser dans quelle feuille, tu cherches la dernière ligne.
D'autre part, si tu utilises le CodeName des objets (Feuil1, ...) il est inutile de définir en plus une variable objet !
Par contre, pour limiter les problèmes, il est préférable de les renommer différemment du nom par défaut (modifier directement le CodeName à partir du VBE dans la fenêtre propriétés). Par exemple tu pourrais renommer Feuil1 en feuilRec et Feuil2 en feuilTable.
Cordialement
Patrice
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
20 avril 2016 à 13:53
20 avril 2016 à 13:53
Bonjour,
La principale source d'erreur vient du fait que tu utilises l'objet actif et le référencement implicite au lieu de référencer clairement chaque objet.
Tu devrais définir chaque objet et supprimer les Activate, Select, Activesheet, ..., inutiles et sources d'erreurs.
La principale source d'erreur vient du fait que tu utilises l'objet actif et le référencement implicite au lieu de référencer clairement chaque objet.
Tu devrais définir chaque objet et supprimer les Activate, Select, Activesheet, ..., inutiles et sources d'erreurs.
cooljuly
Messages postés
40
Date d'inscription
mercredi 23 mars 2016
Statut
Membre
Dernière intervention
6 septembre 2016
21 avril 2016 à 11:17
21 avril 2016 à 11:17
bonjour et encore merci.
du coup quand j'ai nommé Set FeuilRec = Feuil1 pour nommer la feuille où je souhaite que les données s'importent ce n'est pas bon ?
désolée, mais je tatonne encore beaucoup en VBA.
où alors il faudrait que je trouve comment dire que les données copiées dans chaque onglets des classeurs qui sont sur le même répertoire se copient dans la Feuil1
du coup quand j'ai nommé Set FeuilRec = Feuil1 pour nommer la feuille où je souhaite que les données s'importent ce n'est pas bon ?
désolée, mais je tatonne encore beaucoup en VBA.
où alors il faudrait que je trouve comment dire que les données copiées dans chaque onglets des classeurs qui sont sur le même répertoire se copient dans la Feuil1
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
21 avril 2016 à 15:36
21 avril 2016 à 15:36
Bonjour,
Regardes si ça convient, j'ai renommé Feuil1 en feuilRec, et redéfini et conservé uniquement les variables utiles :
https://www.cjoint.com/c/FDvnKarXQJf
Regardes si ça convient, j'ai renommé Feuil1 en feuilRec, et redéfini et conservé uniquement les variables utiles :
https://www.cjoint.com/c/FDvnKarXQJf
Bonjour,
oui c'est quasi bon sauf que je ne comprends pas pourquoi par rapport à la version précédent, la macro me remonte également certaine fois l'intitulé de la ligne de dessus (exemple le nom de colonne qui se trouve sur les fichiers)
il me semble que cela provient du lien qui se fait automatiquement. Même en le supprimant il revient. Et ce qui est bizarre, c'est qu'au lancement de la macro, il me dit 4 fois qu'il trouve des liaisons (alors que je n'en veut pas), je fais "ne pas actualiser" et après il me dit qu'il a trouvé une table "couleur" qui sort de gestionnaire des noms et quand je la supprime car je n'en veut pas, elle revient...
http://www.cjoint.com/c/FDwkCVHaqTw
oui c'est quasi bon sauf que je ne comprends pas pourquoi par rapport à la version précédent, la macro me remonte également certaine fois l'intitulé de la ligne de dessus (exemple le nom de colonne qui se trouve sur les fichiers)
il me semble que cela provient du lien qui se fait automatiquement. Même en le supprimant il revient. Et ce qui est bizarre, c'est qu'au lancement de la macro, il me dit 4 fois qu'il trouve des liaisons (alors que je n'en veut pas), je fais "ne pas actualiser" et après il me dit qu'il a trouvé une table "couleur" qui sort de gestionnaire des noms et quand je la supprime car je n'en veut pas, elle revient...
http://www.cjoint.com/c/FDwkCVHaqTw
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
22 avril 2016 à 13:52
22 avril 2016 à 13:52
Bonjour,
N'ayant pas les fichiers, je ne peux pas touver les défauts mais :
Pour éviter la question concernant les liaisons, remplaces :
Pour la ligne de titre qui apparaît parfois c'est parce que cette ligne se trouve sur la ligne 4 dans ces fichier !
Si tous les fichiers ne sont pas identiques au début, il est possible de chercher la première ligne a condition que :
- cette première ligne existe dans tous les fichiers
- il y ait un moyen de la repérer sans ambigüité (par exemple, un titre de colonne qui apparaît de façon certaine dans chaque fichier)
Quand à la table Couleur quel est exactement message ??? S'agit-il d'une plage nommée dans un des fichiers ?
Dans l'attente d'une réponse ..;
Patrice
N'ayant pas les fichiers, je ne peux pas touver les défauts mais :
Pour éviter la question concernant les liaisons, remplaces :
Set wbkImp = Workbooks.Open(Filename:=Repertoire & "\" & nomImp)Par cette ligne qui ne met pas à jour les liaisons à l'ouverture :
Set wbkImp = Workbooks.Open(Filename:=Repertoire & "\" & nomImp, UpdateLinks:=2)
Pour la ligne de titre qui apparaît parfois c'est parce que cette ligne se trouve sur la ligne 4 dans ces fichier !
Si tous les fichiers ne sont pas identiques au début, il est possible de chercher la première ligne a condition que :
- cette première ligne existe dans tous les fichiers
- il y ait un moyen de la repérer sans ambigüité (par exemple, un titre de colonne qui apparaît de façon certaine dans chaque fichier)
Quand à la table Couleur quel est exactement message ??? S'agit-il d'une plage nommée dans un des fichiers ?
Dans l'attente d'une réponse ..;
Patrice
cooljuly44
>
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
22 avril 2016 à 14:44
22 avril 2016 à 14:44
Par contre pour les liaisons, c'est vraiment bizarre, car m'affiche toujours la fenêtre malgré la correction apportée.
Voici le fichier qui remonte en erreur avec la ligne de titre (ligne 3) et les autres onglets qui contiennent Exemple
http://www.cjoint.com/c/FDwmJSB1AJw
voici un fichier correct
http://www.cjoint.com/c/FDwmLthEJiw
voici la fenêtre pour la table Couleur :
http://www.cjoint.com/c/FDwmNkFhcTw
j'ai regardé et cette table (que je n'ai pas créé car je suis partie d'un fichier vierge pour faire la macro) fait référence à un répertoire auquel je n'ai même pas accès. De plus en regardant le lien, je vois qu'elle apparaît à cause d'un fichier qui n'est pas dans mon répertoire non plus...
c'est un lien d'un autre service qui retombe automatiquement dans ma macro.
si jamais tu as une solution miracle ? :)
à chaque fois que je supprime la liaison et la table, elles reviennent
merci en tout cas
Voici le fichier qui remonte en erreur avec la ligne de titre (ligne 3) et les autres onglets qui contiennent Exemple
http://www.cjoint.com/c/FDwmJSB1AJw
voici un fichier correct
http://www.cjoint.com/c/FDwmLthEJiw
voici la fenêtre pour la table Couleur :
http://www.cjoint.com/c/FDwmNkFhcTw
j'ai regardé et cette table (que je n'ai pas créé car je suis partie d'un fichier vierge pour faire la macro) fait référence à un répertoire auquel je n'ai même pas accès. De plus en regardant le lien, je vois qu'elle apparaît à cause d'un fichier qui n'est pas dans mon répertoire non plus...
c'est un lien d'un autre service qui retombe automatiquement dans ma macro.
si jamais tu as une solution miracle ? :)
à chaque fois que je supprime la liaison et la table, elles reviennent
merci en tout cas
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
22 avril 2016 à 17:07
22 avril 2016 à 17:07
Bonjour,
Je n'arrive pas à reproduire ton problème de mise à jour de liaisons, il ne se produit pas avec tes 2 fichiers.
Pour la ligne de titre, je détermine sa position en cherchant le titre "NOM, Prénom", ce qui permet aussi de vérifier que l'organigramme n'est pas vide.
Pour le nom "Couleur", il est probable qu'un des fichiers y fasse référence dans une formule. En copiant les valeurs, cela ne devrait pas se produire.
Voilà :
https://www.cjoint.com/c/FDwo5X2MHCf
Je n'arrive pas à reproduire ton problème de mise à jour de liaisons, il ne se produit pas avec tes 2 fichiers.
Pour la ligne de titre, je détermine sa position en cherchant le titre "NOM, Prénom", ce qui permet aussi de vérifier que l'organigramme n'est pas vide.
Pour le nom "Couleur", il est probable qu'un des fichiers y fasse référence dans une formule. En copiant les valeurs, cela ne devrait pas se produire.
Voilà :
https://www.cjoint.com/c/FDwo5X2MHCf
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
25 avril 2016 à 11:20
25 avril 2016 à 11:20
Bonjour,
Si c'est terminé, passe le post en résolu
Patrice
Si c'est terminé, passe le post en résolu
Patrice
20 avril 2016 à 09:40
merci pour ta réponse
En fait, j'ai oublié de préciser que la macro sert à compiler plusieurs classeurs différents (c'est pour ça que je mentionne le code de la dernière ligne car celle-ci varie et cela m'évite d'avoir des lignes vides.
je n'ai pas trop compris la règle sur les feuil
je mets ci-dessous le lien pour le classeur avec la macro intégrale :
http://www.cjoint.com/c/FDuhOaPWEUw
merci par avance