alinea0504
Messages postés4Date d'inscriptionmardi 2 février 2021StatutMembreDernière intervention14 février 2021
-
2 févr. 2021 à 10:25
yg_be
Messages postés22717Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention22 avril 2024
-
2 févr. 2021 à 18:47
Bonjour,
J'ai ecrit du code pour via un userform :
- entree des donnees et les stocker dans plusieurs feuilles suivant le choix fait dans une combobox
- visualiser des cartes de controles pour chaque feuille
je ne comprends pas pourquoi , mon code qui semble fonctionner , fait apparaitre dans les premieres feuilles du classeur des graphes correspondants à mon paramétrage , et puis sur les derniéres , c'est le "b.....l" .. ( changement de séries visibles , etc..)
si quelqu'un veut bien me donner des conseils et m'aider à résoudre ce pb..
Bonne journée à vous et merci par avance de votre temps accordé.
Option Explicit Dim valeur As Byte Dim dat As Date Dim i As Integer, j As Integer Public Fichier As Workbook
Dim bassinchoix As String Dim PHGraph As Chart Dim CHGraph As Chart Dim rPlageAcceuil As Range Dim rPlageSource As Range Option Compare Text Private Sub UserForm_Initialize() ''ok
'Variable pour un Objet Worksheet en PUBLIC pour tous les Controls de cet UserForm'à l'initialisation de l'userform Set Fichier = ThisWorkbook ' TEST VENDREDI ' Affecter une valeur à une variable (= fixer la valeur de la variable) 'Attention ce nom doit correspondre au nom de votre ONGLET Me.ComboBox1.Clear
For i = 1 To Sheets.Count - 2 'on exclue les feuilles ENTREE et LIMITES dans laquelle le userform general fonctionne Me.ComboBox1.AddItem Sheets(i).Name Next i = 0
End Sub Private Sub USerForm_Activate() ''OK Application.ScreenUpdating = False ' POUR POSITIONNEMENT PLEINE PAGE USERFORM With Me .StartUpPosition = 3 .Width = Application.Width .Height = Application.Height .Left = 0 .Top = 0 End With Me.TextBox6.Value = Format(Date, "dd/mm/yyyy") Application.ScreenUpdating = True End Sub Private Sub CommandButton8_Click() ''OK ' pour fermer le formulaire et le sauvegarder Unload Me 'Unload => Permet de fermer l'Userform et de l'effacer de la mémoire, 'les valeurs de ses contrôles sont à alors perdues. ' Me => Référence à l'objet en cours Application.Quit End Sub Private Sub CommandButton10_Click() ''ok Application.ScreenUpdating = False
'Entrées des données bassinchoix = ComboBox1.Value
Worksheets(bassinchoix).Select i = ActiveSheet.Range("A65536").End(xlUp).Row j = i + 1
If bassinchoix = "BASSIN_EXTERIEUR" Then Cells(j, 8) = Worksheets("LIMITES").Range("I4") 'bas Cells(j, 9) = Worksheets("LIMITES").Range("J4") 'target Cells(j, 10) = Worksheets("LIMITES").Range("K4") 'Haut End If
'boutons radios Matin-Amidi If OptionButton1.Value = True Then Cells(j, 1) = "M" 'BOUTON RADIO POUR UNE SELECTION UNIQUE SUR LES DEUX If OptionButton2.Value = True Then Cells(j, 1) = "A"
With Sheets(bassinchoix) ' Plage devant accueuillir le graphique Set rPlageAcceuil = .Range("K1:T16").Offset(0, 1) ' Création du graphique, ne pas oublier le .Chart final ' L'objet graphique se place sur la plage et à sa taille Set PHGraph = .ChartObjects.Add(rPlageAcceuil.Left, rPlageAcceuil.Top, rPlageAcceuil.Width, rPlageAcceuil.Height).Chart ' Source du graphique Set rPlageSource = .Range("A:J") End With
' SAUVEGARDE DU GRAPHIQUE PH BASSIN CHOISI ET AFFICHAGE DANS FRAME 09 PH PHGraph.Export ThisWorkbook.Path & "\graphique.gif" Me.Frame9.Picture = LoadPicture(ThisWorkbook.Path & "\graphique.gif")
'GRAPHE_CHLORE
With Sheets(bassinchoix) ' Plage devant accueuillir le graphique Set rPlageAcceuil = .Range("K17:T32").Offset(0, 1) ' Création du graphique, ne pas oublier le .Chart final ' L'objet graphique se place sur la plage et à sa taille Set CHGraph = .ChartObjects.Add(rPlageAcceuil.Left, rPlageAcceuil.Top, rPlageAcceuil.Width, rPlageAcceuil.Height).Chart ' Source du graphique Set rPlageSource = .Range("A:J") End With
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 'vbFormControlMenu 0 L'ordre de fermeture provient de la Croix du UserForm 'vbFormCode 1 L'ordre de fermeture provient d'une macro 'vbAppWindows 2 L'ordre provient de la fermeture de la session Windows 'vbAppTaskManager 3 L'ordre de fermeture provient d'une instruction du Task Manager ' ' Si fermeture par la croix If CloseMode = 0 Then ' Demander le mot de passe If InputBox("Vous souhaitez fermer la fenêtre par la croix" & vbCr _ & "Merci de saisir le mot de passe", "Mot de passe") <> "MOSCAT12" Then ' Si différend de toto, ne pas fermer l'USF Cancel = True End If End If End Sub
Merci de votre réponse rapide..
Comment mettre le fichier en pièce jointe??
alinea0504
Messages postés4Date d'inscriptionmardi 2 février 2021StatutMembreDernière intervention14 février 2021
>
alinea0504
2 févr. 2021 à 17:29
il semblerait qu'en supprimant les feuilles incriminées ( qui étaient des copies des précédentes..) , et en les recréant , ça marche.. pourtant je n'ai rien modifié dans leur propriétés..
Dites moi qd mm comment mettre un fichier xlsm en piéce jointe , j'ai une autre question à poser mais je ne voudrais pas empecher la cloture de ce cas
yg_be
Messages postés22717Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention22 avril 20241 476
>
alinea0504
Messages postés4Date d'inscriptionmardi 2 février 2021StatutMembreDernière intervention14 février 2021 2 févr. 2021 à 18:47
pour partager ici un fichier, il faut le publier sur internet (google drive, cjoint.com, ...), puis partager ici un lien vers le fichier.
2 févr. 2021 à 14:52
Comment mettre le fichier en pièce jointe??
2 févr. 2021 à 17:29
Dites moi qd mm comment mettre un fichier xlsm en piéce jointe , j'ai une autre question à poser mais je ne voudrais pas empecher la cloture de ce cas
2 févr. 2021 à 18:47