Problème d'incompatibilité de type

Bonsoir le forum

Bonne et bonne santé à vous tous

J'essaye de copier dans de nouveaux onglets, renommés avec une cellule de référence, des tableaux.

Afin de pouvoir, à l'aide d'un 'listbox" sélectionner certains onglets pour les imprimer sur feuille A4 et en reprennant

l'entête de la feuille d'origine.

J'ai une incompatibilité de type et je ne comprends pas du tout de que cela veut dire

Je joint le fichier

D'avance je vous remercie pour votre aide et votre disponibilité


Désolé voici le fichier

12onglets1.xlsm (278.49 Ko)

Bonsoir,

Voici le début de votre code :

  Sub Onglet()

   Dim MP As Range
   Dim e As Integer
   Dim i As Integer
   Dim nom, C
   e = 24

       Set PS = Sheets("Photo situation PB")
       Set nom = C.Value
       Set MP = ("A:J" & e)

L'incompatibilité de type est due à la ligne Set MP = ("A:J" & e)[/code]

MP est bien un objet Range mais ("A:J" & e) n'en est pas un !!! il faut écrire Range("A:J"& e ), mais je ne suis pas sur que cela aille pour autant car les références sont de type A1 ou A1:J24 donc il manque peut-être quelque chose après le A.

Ensuite vous avez cette ligne Set nom = C.Value

nom est bien défini, C aussi mais il ne vaut rien donc nouvelle erreur car objet requis pour C.Value !!!

je m'arrête là pour le moment

@ bientôt

LouReeD

Bonjour

A tester pour la création des pages

Bonsoir LouReed et Banzai64

Merci pour votre aide et votre disponibilité

Je prends la version de Banzai 64 , c'est super mais je me rends compte que pour moi ce n'est pas encore ça

mais LouReed

Ensuite vous avez cette ligne Set nom = C.Value

nom est bien défini, C aussi mais il ne vaut rien donc nouvelle erreur car objet requis pour C.Value !!!

C aussi mais ne vaut rien ??? je ne comprends pas ce que tu veux dire Stp

En tout cas merci à vous deux, j'ai uns sacré épine en moins dans le pied

Bonsoir,

mais LouReed

Ensuite vous avez cette ligne Set nom = C.Value

nom est bien défini, C aussi mais il ne vaut rien donc nouvelle erreur car objet requis pour C.Value !!!

C aussi mais ne vaut rien ??? je ne comprends pas ce que tu veux dire Stp

En effet je me suis mal exprimé...

Car avec cette ligne : Dim nom, C

les deux variables sont définies !

Ce que je voulais dire c'est que vous êtes en train d'attribuer une valeur à nom par :

Set nom = C.Value

mais C est défini mais il est égal à quoi ?

Et quand vous écrivez C.Value, vous demande la propriété Value de l'objet C.

Hors une définition de variable par Dim ne donne pas de valeur à la variable.

Donc Dim C, défini la variable, VBA sait qu'elle existe mais pour le moment elle vaut rien, Nothing, False, Vide...

donc C.Value donne comme erreur "Objet requis"

@ bientôt

LouReeD

Bonsoir le forum

Bonsoir LouReed et merci pour ton éclairage

donc quelle définition aurai-t-il fallu pour C?

Bonsoir,

du style :

Set C=Range("A2")

à ce moment là C qui est défini, vous lui créez une valeur Objet qui n'est autre qu'un Objet Range qui correspond à la cellule A2.

Ensuite :

nom = C.Value et VBA prend la propriété Value de l'Objet Range qui est égal à la valeur de la cellule A2.

Quelque part ce serait plus simple de faire :

nom = Range("A2").Value

en sachant que Value est la propriété par défaut, on peut écrire :

nom = Range("A2")

@ bientôt

LouReeD

ok merci compris

Cela ca vaux pour une cellule fixe, mais si C est une cellule variable comprise dans une boucle, alors comment définir cette variable?


Bon je reviens avec mon fichier

maintenant que mes onglets sont créer, j'ai un UserForm qui les Liste dans un 'ListBox' ceci afin de sélectionner un par un et de lancer une copie vers une feuille pour impression.

Comment je définis dans le code de mon "UserForm" la sélection de l'onglet voulu.

Je sais j'ai penser à faire le contraire, soit sélectionner directement les tableaux que je veux supprimer avant impression, mais je n'arrivais pas à supprimer les images en même temps!!!

en pièce jointe le fichier

Merci d'avance pour votre aide et votre disponibilité

10onglets1-v002.xlsm (279.34 Ko)

Bonsoir

Regarde si cette façon de faire te convient

Bonjour le forum

Bonjour Banzai64

Ok le nouveau fichier correspond plus à ce que j'ai besoin, mais en fait ce que j'ai besoin, c'est de sélectionner certain tableaux, et de les envoyer vers une feuille afin de tous les imprimer (en récupérant l'entête de feuille "photos situation Pb".

Ou autrement (en y réfléchissant ) sélectionner les tableaux que je ne veux pas pour les supprimer et imprimer ceux qui restent, mais il y a un PB avec les image s pour les supprimer.

Merci pour ton aide et ta disponibilité

Bonjour

Avant tu voulais chaque groupe de photos dans des pages différentes

Maintenant tu veux regrouper les photos dans une même page afin de les imprimer, il va y avoir des problèmes de mise en page (plus facile de gérer 1 groupe de photo que plusieurs groupes)

Mais c'est toi qui décide

Comme je ne sais pas je passe la main

Bonsoir le forum

Bonsoir Banzai64

C'est vrai que je n'ai peut être pas été assez clair au début lors de l'exposition de mon PB

mais avec ce que tu m'as déjà fais je pense que je vais essayé de faire une sélection de chaque tableau qui m'intéresse et de l'envoyer vers la feuille "Modèle d'impression".

Merci pour ton aide et ta disponibilité

Rechercher des sujets similaires à "probleme incompatibilite type"