Bonjour le forum
Je sollicite de nouveau votre participation pour une problématique qui est la suivante
Dans le fichier joint il y a 14 Feuil qui sont remplis par l'Userform"SAISIE" ,le problème concerne les images qu'il y a dans chaque page du multipage que je voudrais coller dans les cellules:
-Image de la page1 du multipage vers la cellule A6 de la feuille "1"
-Image de la page2 du multipage vers la cellule A6 de la feuille "2"
-Image de la page3 du multipage vers la cellule A6 de la feuille "3"
jusqu’à la feuille "14" en appuyant sur le bouton "VALIDER" de l'Userform "SAISIE"
merci
Tu bosses bans les encarts publicitaires apparemment et ils n'ont pas de sous pour un logiciel spécialisé !?
Perso, je pense que tu t'y prends très mal
J'ai toujours pour principe de traiter les données comme dans une BdD, donc inutile d'avoir X feuilles et X pages de formulaire un seule tableau avec le données en ligne.
Pas sur d'avoir compris ou et quand ca doit se faire... mais il te manque la partie de code qui insère une photo
le code suivant est à adapter car il va chercher une photo sur mon DD et la met en A6..
Bonjour BrunoM45
C'est pour ma copine qui actuellement perd un temps fou sur Powerpoint, saisie, mise en page, ect...
Pour ce qui est de la méthode a suivre , je t’avoue que je suis loin de maitriser le sujet, je veux juste lui faire gagner un peu de temps dans son boulot
Une aide de ta part peut être ?
Bon.. déjà. la lecture de ton code est asssez indigeste..
il faudrait arranger tout ca. notamment en ne mettant les conditions IF sur une seule ligne, vu que une seule instruction
ca donnerait donc 14 blocs comme celui ci..
Code:
'*******************************************
Sheets("1").Activate
Me.MultiPage1.Value = 0
Range("F5").Value = TextBox13.Value
Range("A8").Value = TextBox14.Value
Range("H8").Value = TextBox15.Value
Range("A12").Value = TextBox16.Value
Range("A15").Value = TextBox17.Value
Range("C18").Value = ComboBox2.Value
Range("K18").Value = TextBox182.Value
Range("I15").Value = TextBox18.Value
Range("K21").Value = TextBox19.Value
Range("K22").Value = TextBox20.Value
Range("K23").Value = TextBox21.Value
Range("G25").Value = TextBox22.Value
Range("M27").Value = TextBox23.Value
Range("A27").Value = TextBox24.Value
If CheckBox7.Value = True Then Range("C21").Value = "X"
If CheckBox8.Value = True Then Range("C22").Value = "X"
If CheckBox9.Value = True Then Range("C23").Value = "X"
If CheckBox11.Value = True Then Range("G21").Value = "X"
If CheckBox12.Value = True Then Range("G22").Value = "X"
If CheckBox10.Value = True Then Range("G23").Value = "X"
ensuite.. tu fais donc 14 fois la meme chose. mais avec le nom des textBox qui changent..
sauf que d'une feuille multipage à l'autre.. c'est le meme..
avec un nommage logique des différents controls des multipages, tu pourrais tout réduire à une boucle..
exemple de nommage
TB1MP1 -->TextBox1MultiPage1
TB2MP1-->TextBox2MultiPage1
...
...
ainsi.. la boucle deviendrait un truc du genre
for i = 1 to 14 'boucle sur les 14 Multiplages
Range("F5").Value = Me.Controls("TB1MP" & i).Value
Range("F6").value=Me.controls("TB2MP" &i).value
etc etc
next i
Pour copier une image d'une USF vers une feuille, le plus simple (à mon avis) est d'insérer dans chaque feuille (1 à 14) un objet Image (activeX) nommé Image1 (par exemple).
Et dans Private Sub CommandButton6_Click() de l'USF SAISIE, rajouter un code du type:
Code:
For i =1 To 14
Worksheets(CStr(i )).Image1.Picture = Me("image" & i).Picture
Next
Il faut bien sûr que dans l'USF les objets images soient numérotés en ordre croissant . Sur la Page1 du multipage => Image1, Page2 => Image2 ...
je voulais dire qu'il faut insérer dans chaque feuille ( 1 à 14) un objet Image nommé Image1. Image1 pour la feuille 1, Image1 pour la feuille 2, ...., Image1 pour la feuille 14
Sinon ça ne marche que pour i= 1;
En laissant tels quels les noms d'objets Image dans les feuilles, on pourrait (peut-être) dynamiser le nom de l'objet Image , du style (qui ne fonctionne pas) For i = 1 To 14
Worksheets(CStr(i)).Image & i .Picture = Me("image" & i).Picture
Next
Re
J'avais oublié le 1 dans la ligne ci-dessous et j'ai renommé les images dans les feuilles, donc maintenant ça fonctionne nickel
Worksheets(CStr(i )).Image1.Picture = Me("image" & i).Picture
Par contre une derniére chose si tu le permet, pour faire la même chose de l'image "100" de userform "SAISIEO" vers l'Image "100" de la feuil "00"
Re
Si simple et pourtant si complexe, je croyais avoir joint la version 4 du ficher mais non (?) un grand merci pour l'aide que tu m'as apporté sur le problème c'est parfait.
J'ai une autre demande concernent l'effacement de tous les contrôles du multipage en cliquant sur le bouton "Effacer toutes les données" de l'Userform "SAISIE" mais peut être dois je passer par un autre post ?
En tout cas encore merci, tu m’enlève un cactus du pied
Je joint le fichier fonctionnel mais non finalisé pour ceux que ça intéresse
Ce n'est pas parce qu'on ne paye rien que ça ne coûte rien. XLD est mis gratuitement à disposition de tout le monde. Mais derrière il y a de la sueur, du temps passé et des euros (ne serait ce que pour l'hébergement, la maintenance du serveur et le stockage).
Dans cette discussion, 4 versions du fichier ont été publiées pour un total de près de 20 Mo. En remplaçant simplement les images par des images de quelques Ko, en ne conservant que les 4 premiers onglets, la taille du fichier est considérablement réduite sans nuire à la compréhension de son fonctionnement. La taille des fichiers est divisée par environ 33.
Bonjour mapomme, le forum
Méa culpa , je n'avais pas cette notion en tête, j'ai supprimé 2 messages dans la discussion en cours et pour les éventuels post a venir j'allégerai les fichiers , total respect aux personnes qui font en sorte que le site fonctionne
Message reçu
Le week end étant passé hors conneXion, je n'ai pas suivi la discussion..
et comme je m'étais amusé à renommer les controls, je me dis que ce serait bête de ne pas aller au bout..
donc voici le code qui s'en retrouve considérablement raccourci..enfin. je crois ;-)
j'ai ajouté le code pour effacer le multipage
PS: forcément, ca va planter car il n'y a que 2 onglets sur les 14.. suffit de les copier coller..
Bonjour vgendron, le forum
Merci pour le code, dommage pour la connexion cela m'aurai évité de faire en 250 lignes ce que tu a fais en 26
Il ne manque plus qu'une chose sur le fichier
Dans la page "00" je voudrais que les flèches en colonne "B" apparaisse seulement s'il y a du texte dans les cellules correspondante en colonne "C"
merci