code avec combobox qui ne s'execute pas

missaudrey

XLDnaute Nouveau
Bonjour à tous,

J'aimerai (voir PJ), dans "la feuille de bord",pouvoir selectionner une ligne qui correspondrait à une ligne de mon grand tableau dans la feuille OST EEL. Je souhaite ensuite recuperer l'index correspondant à la ligne sélectionnée, et l'utiliser comme variable dans ma macro essai; Et enfin lancer la macro essai depuis le bouton commanbuttonclick. Qd je le fais, rien ne se passe, je ne sais pas pourquoi. Quelqu'un aurait-il des pistes? merci d'avance et bonne journée
 

Pièces jointes

  • OST EELv1.zip
    32.9 KB · Affichages: 23
  • OST EELv1.zip
    32.9 KB · Affichages: 24
  • OST EELv1.zip
    32.9 KB · Affichages: 29

Robert

XLDnaute Barbatruc
Repose en paix
Re : code avec combobox qui ne s'execute pas

Bonjour MissAudrey, bonjour le forum,

Visiblement il y a un problème avec ta pièce jointe. En tous cas chez moi le zip propose un fichier Excel et c'est l'extraction de ce fichier qui plante... Tu devrais peut-être renvoyer une pièce jointe.

Edition :

Ooops pardon ! j'ai réussi à ouvrir. Je jette un œil...
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : code avec combobox qui ne s'execute pas

Bonjour MissAudrey, bonjour le forum,

J'ai carrément jeté les deux yeux mais désolé, je n'ai rien compris a ce que tu voulais.
Mais si ça peut t'aider, dans la macro essai tu fais référence à l'onglet Feuil1 (Sheets("Feuil1"))
Code:
Sub essai()
Sheets("feuil1").Range("G5").Copy
Sheets("OST TEE").Range("P8").PasteSpecial Paste:=xlValues
End Sub
qui n'existe pas. Soit tu utilises Feuil1.Range("G5").Copy soit, Sheets("OS EEL").Range("G5").Copy. De la même manière, longlet OST TEE n'existe pas...
 

missaudrey

XLDnaute Nouveau
Re : code avec combobox qui ne s'execute pas

Bonjour robert,

En fait , je sais que je dois remplacer OST TEE par OST EEL. je l'ai fait via le code suivant:
---------------------------------------------------------------------
Sub essai2() ' A voir
Dim i, j As Integer
Dim k As Integer
Dim wshO As Worksheet, wshD As Worksheet

Set wshO = ThisWorkbook.Worksheets("feuilleDebord")
Set wshD = ThisWorkbook.Worksheets("OST EEL")

i = 16
j = 4
Dim rRange As Range
Dim vI As Variant
Set rRange = Range([B2], [B65536])

For Each vI In rRange
If UserForm2.CmbLigne.Text = vI Then
k = vI.Row

End If
While i <= 110 And j <= 38
wshD.Cells(k, i).Value = wshO.Cells(j, 8).Value
i = i + 4
j = j + 1
Wend

Exit For
Next vI
End Sub
----------------------------------------------------------------
je veux copier les valeurs de "feuille de bord à OST EEL maisj'ai une erreur 1004 sur la ligne en gras.
J'ai tout esayé, là j'ai vraiment besoin d'aide, merci d'avance et bon aprem
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : code avec combobox qui ne s'execute pas

Bonjour MissAudrey, bonjour le forum,

rRange est dans quel onglet ?
lances-tu la macro essai2 après avoir fermé l'UserForm2 ?
au moment ou ça plante quelles sont les valeurs de k, i et j ?

j'ai toujours rien compris mais j'essai de trouver où est l'erreur...
 

missaudrey

XLDnaute Nouveau
Re : code avec combobox qui ne s'execute pas

Bonjour à vous,

rRange se trouve dans l'onglet OST EEL. Je lance essai2 à travers un bouton dans le userform (lorsque je clique sur le bouton, je lance essai2 et j'effectue toutes les recopies au bon endroit à la bonne ligne dans OST EEL)
J'ai testé le code pas pas, . j'ai fait un msgBox(k) qd je selectionne une ligne, ca m'afficahit bin le numéro que la lign correspondante. Mais quand je le met dans la boucle, plus rien ne marche.

Merci à vous de vous être penché sur mon cas. Bon aprem!
 

Bebere

XLDnaute Barbatruc
Re : code avec combobox qui ne s'execute pas

bonjour missaudrey,Robert,Pierrot
dans ost eel,les données commencent ligne 8(dans le code ligne 4)
et a:k sont des cellules fusionnées???
pour l'index voir msgbox li dans cmbtension
pour la suite explique nous
à bientôt
 

Pièces jointes

  • OST EELv1.zip
    33.1 KB · Affichages: 23
  • OST EELv1.zip
    33.1 KB · Affichages: 21
  • OST EELv1.zip
    33.1 KB · Affichages: 23

missaudrey

XLDnaute Nouveau
Re : code avec combobox qui ne s'execute pas

Bonsoir et Merci à vous de répondre à mes questions.
Merci berbère pour ta réponse. Serait t-il possible d'utiliser la variable "Li" dans une boucle? J'essaie de faire ceci:

Sub essai2(k As Integer) ' A voir
Dim i, j As Integer
Dim Li As Long

i = 16
j = 4
While i <= 110 And j <= 38
Sheets("OST EEL").Cells(k, i).Value = Sheets("feuilledeBord").Cells(j, 8).Value
i = i + 4
j = j + 1
Wend


End Sub
Private Sub CmbTension_Change()
Dim Li As Long

Li = Me.CmbLigne.List(Me.CmbLigne.ListIndex, 1)

End Sub

Private Sub CommandButton1_Click()
Dim Li As Integer

essai2 (Li)

Unload Me

end sub

Je ne sais pas si c'est faisable. Je voudrais utiliser cette variable pour différenets tensions sélectionnées dans le UF2 et après copier coller les valeurs de "feuille de bord" vers OST EEL"; Voilà. J'ai besoin de recuperer le numéro de la ligne (index) sélectionnée dans uf2effectuer une boucle "while" sur cette variable.

Merci d'avance
 

Bebere

XLDnaute Barbatruc
Re : code avec combobox qui ne s'execute pas

MissAudrey
enlève cette ligne Dim Li As Integer ou as long
du code de la combobox et du commandbutton
et déclare là en dehors des procédures en début de feuille
cela devrait être bon

à bientôt
 

missaudrey

XLDnaute Nouveau
Re : code avec combobox qui ne s'execute pas

Bonjour à tous,

J'ai finalemnt utilisé une autre méthode: j'ai faitune fonction qui renvoit à l'index de la ligne du style getIndexLigne:
for i = debutLigne à finLigne
if range("b"&i)=cmbLigne.text, getindexLigne= i
next

et ensite j'utilise getindexligne comme variable et çà marche.
merci à tous de m'avoir guidé!!! et bonne journée.
 

Discussions similaires

Statistiques des forums

Discussions
312 932
Messages
2 093 724
Membres
105 798
dernier inscrit
Sly67