Masquer des colonnes qui bug dans une boucle

Résolu/Fermé
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022 - 16 nov. 2017 à 17:02
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022 - 17 nov. 2017 à 11:13
Bonjour,

Je rencontre un problème, j'ai une boucle avec ce code :

Range("M:M,O:O,R:V,AA:AG,AK:AK").EntireColumn.Hidden = True

Ce code fonctionne très bien

Mais si je récupère des lien hypertexte dans une colonne "N" celui ci bug.

Je n'arrive pas à comprendre pourquoi ?

Merci pour votre aide.

Pascal




A voir également:

8 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
16 nov. 2017 à 18:05
bonsoir, tu veux dire que la ligne de code que tu montres ne te donne plus le résultat attendu (lequel?), ou donne un message d'erreur (lequel?) quand tu modifies le reste du code (lequel?)?
0
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
16 nov. 2017 à 18:53
Bonsoir yg_be,

Oui j'ai un message d'erreur d'exec 1004 la méthode range de l'objet global a échoué.

J'ai essayé de passer par un module et c'est pareil.

Merci pour ton aide.

Bonne soirée.

Pascal
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
Modifié le 16 nov. 2017 à 19:11
peux-tu expliquer ce qui fait que cela marche parfois et parfois pas? que changes-tu entre les deux fois?
tu ne montres qu'une seule ligne de code. je ne peux faire de suggestion qu'à ce propos:
je te suggère donc de préciser de quelle feuille il s'agit, par exemple:
dim unefeuille as worksheet
set unefeuille  = 'ceci ou cela
unefeuille.Range("M:M,O:O,R:V,AA:AG,AK:AK").EntireColumn.Hidden = True

il est toujours dangereux de ne pas préciser exactement les objets, d'autant plus dangereux quand le code VBA utilise des
Select 
ou autre
Activate
, absolument à proscrire.
0
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
16 nov. 2017 à 19:15
c'est depuis que je récupère des liens hypertexte dans la colonne "N"n°14.

Je joins le lien du fichier.

Merci.

https://www.cjoint.com/c/GKqsnUoUPvX
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
16 nov. 2017 à 19:45
tu ne m'expliques ni comment utiliser ton fichier pour avoir le problème, ni ce que tu as changé et qui fait que cela ne fonctionne plus.
je maintiens ma suggestion: remplacer ta ligne par quelque-chose comme
Sheets("Données commerciales").Range("M:M,O:O,R:V,AA:AG,AK:AK").EntireColumn.Hidden = True

ou
Worksheets(I).Range("M:M,O:O,R:V,AA:AG,AK:AK").EntireColumn.Hidden = True

pour éviter d'avoir Range tout seul, sans préciser où.
je suggère aussi de simplifier ton code, par exemple remplacer ceci
 Sheets("Données commerciales").Select
    Range("C6:C11").Select
    Selection.Copy
    
    ActiveWorkbook.Worksheets(I).Select
    Range("C6").Select
    ActiveSheet.Paste

par cela
 Sheets("Données commerciales").Range("C6:C11").Copy Worksheets(I).Range("C6")
0
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
16 nov. 2017 à 20:04
ça ne fonctionne plus depuis que je récupère par une requête les lien hypertexte et que je fais le module1.

je fais ce code sur toutes les feuilles sauf la dernière ("Données commerciales").

j'ai essayé Worksheets(I).Range("M:M,O:O,R:V,AA:AG,AK:AK").EntireColumn.Hidden = True

et j'ai un message d'erreur d'éxecution 1004 erreur définie par l'application ou par l'objet.

Pour info je clique sur le rectangle bleu en haut de la page PM Tarif_T3.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
16 nov. 2017 à 21:08
j'ai changé tous les codes de

Sheets("Données commerciales").Range("C6:C11").Copy Worksheets(I).Range("C6")

mais j'ai toujours le message.

J'ai mis une seule colonne et ça fonctionne ?

Worksheets(I).Range("AK:AK").EntireColumn.Hidden = True
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
16 nov. 2017 à 21:11
ton code est trop compliqué, je laisse d'autres t'assister.
0
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
16 nov. 2017 à 21:13
je te remercie pour avoir pris du temps pour moi.

Bonne soirée.

Pascal
0
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
17 nov. 2017 à 09:32
j'ai mis cela et ça fonctionne :

Worksheets(I).Range("M:M").EntireColumn.Hidden = True
Worksheets(I).Range("O:O").EntireColumn.Hidden = True
Worksheets(I).Range("R:R").EntireColumn.Hidden = True
Worksheets(I).Range("S:S").EntireColumn.Hidden = True
Worksheets(I).Range("T:T").EntireColumn.Hidden = True
Worksheets(I).Range("U:U").EntireColumn.Hidden = True
Worksheets(I).Range("V:V").EntireColumn.Hidden = True
Worksheets(I).Range("AA:AA").EntireColumn.Hidden = True
Worksheets(I).Range("AB:AB").EntireColumn.Hidden = True
Worksheets(I).Range("AC:AC").EntireColumn.Hidden = True
Worksheets(I).Range("AD:AD").EntireColumn.Hidden = True
Worksheets(I).Range("AE:AE").EntireColumn.Hidden = True
Worksheets(I).Range("AF:AF").EntireColumn.Hidden = True
Worksheets(I).Range("AG:AG").EntireColumn.Hidden = True
Worksheets(I).Range("AK:AK").EntireColumn.Hidden = True

alors que cela ne fonctionne pas, , je ne comprends rien mais bon j'ai masqué mes colonnes.

Worksheets(I).Range("M:M,O:O,R:V,AA:AG,AK:AK").EntireColumn.Hidden = True
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
17 nov. 2017 à 10:19
bien vu!
0
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
17 nov. 2017 à 11:13
Je remercie yg_be et Le Pivert, vous m'avez fait faire un grand bon en avant avec votre aide.

Bonne journée.

Pascal
0