Problème affectation données sous VBA Excel
Fermé
marccoumes
Messages postés
15
Date d'inscription
mardi 14 octobre 2008
Statut
Membre
Dernière intervention
11 mars 2010
-
2 févr. 2010 à 18:34
marccoumes Messages postés 15 Date d'inscription mardi 14 octobre 2008 Statut Membre Dernière intervention 11 mars 2010 - 11 mars 2010 à 16:16
marccoumes Messages postés 15 Date d'inscription mardi 14 octobre 2008 Statut Membre Dernière intervention 11 mars 2010 - 11 mars 2010 à 16:16
A voir également:
- Problème affectation données sous VBA Excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
7 réponses
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
2 févr. 2010 à 23:49
2 févr. 2010 à 23:49
Bonsoir,
Tu devrais déposer un fichier exemple sur cijoint.fr et coller ici le lien fourni.
Visiblement pas grand a envie de reconstruire ton tableau...
eric
Tu devrais déposer un fichier exemple sur cijoint.fr et coller ici le lien fourni.
Visiblement pas grand a envie de reconstruire ton tableau...
eric
marccoumes
Messages postés
15
Date d'inscription
mardi 14 octobre 2008
Statut
Membre
Dernière intervention
11 mars 2010
4
3 févr. 2010 à 13:50
3 févr. 2010 à 13:50
Bjr Eric,
Ci joint le lien ou j'ai déposé le fichier : http://www.cijoint.fr/cjlink.php?file=cj201002/cijAr4py6R.xls
Cela sera effectivement plus parlant....
Merci et bonne journée
Marc
Ci joint le lien ou j'ai déposé le fichier : http://www.cijoint.fr/cjlink.php?file=cj201002/cijAr4py6R.xls
Cela sera effectivement plus parlant....
Merci et bonne journée
Marc
marccoumes
Messages postés
15
Date d'inscription
mardi 14 octobre 2008
Statut
Membre
Dernière intervention
11 mars 2010
4
3 févr. 2010 à 13:53
3 févr. 2010 à 13:53
tant que j'y suis j'ai un autre probleme avec la combobox : lorsque je sélectionne une date dans le menu déroulant cela me le convertit automatiquement dans un format que je ne comprends pas.....et qui n'est pas le format de la date que je souhaite evidement (comme s'il fallait en rajouter....)
Marc
Marc
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
11 févr. 2010 à 07:41
11 févr. 2010 à 07:41
Bonjour,
Heuuu, non je n'avais pas prévu de traiter plus particulièrement cette question. C'est plus un conseil parce que tu n'avais pas eu de réponse...
Là je n'ai pas le temps mais je peux te donner une piste.
Il faut que tu recherches la colonne avec l'équivalent d'equiv() en vba (même syntaxe mais mot en anglais) avec par exemple
colonne=application.worksheetfunction.match("ton fruit",range(2:2);0)
"ton fruit" peut être une variable, 2:2 la ligne où son noté tes fruits sur la feuille.
Pareil pour la date en A:A
Et tu remplis la cellule avec cells(ligne,colonne)="bla bla bla"
eric
Heuuu, non je n'avais pas prévu de traiter plus particulièrement cette question. C'est plus un conseil parce que tu n'avais pas eu de réponse...
Là je n'ai pas le temps mais je peux te donner une piste.
Il faut que tu recherches la colonne avec l'équivalent d'equiv() en vba (même syntaxe mais mot en anglais) avec par exemple
colonne=application.worksheetfunction.match("ton fruit",range(2:2);0)
"ton fruit" peut être une variable, 2:2 la ligne où son noté tes fruits sur la feuille.
Pareil pour la date en A:A
Et tu remplis la cellule avec cells(ligne,colonne)="bla bla bla"
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
11 févr. 2010 à 07:53
11 févr. 2010 à 07:53
il faut parcourir la liste des fruits et des jours pour trouver la ligne/colonne (grace a .row et .column pour extraire le numéro de la colonne/ligne)
ensuite tu construit l'adresse de la cellule ou sera écrit l'info en associant la colonne et la ligne récupéré
ensuite tu construit l'adresse de la cellule ou sera écrit l'info en associant la colonne et la ligne récupéré
Bonjour et merci pour ton aide.
le seul hic est que je suis totalement novice en VBA et donc tout ceci est du charabia....j'ai bien essayé d'écrire quelquechose, mais il y a plein d'erreurs car je ne maîtrise pas la syntaxe...
Voila en Français ce que ça donne :
Si la variabe [A1] (=celulle A1) est trouvée dans la plage B4:BD4 ET que la variable [C3] (celulle C3) est trouvée dans la plage A7:A37, ALORS il faut copier la variable [B2] (celulle B2) à l'intersection du N° de colonne et du N° de ligne correspondant et ce dans la plage B7:BD37
Je ne sais pas comment faire le test pour l'intersection et comment aller copier la valeur qui m'ntéresse à l'intersection ds deux autres variables.
Peux tu eclairer ma lanterne ????
D'avance merci
Marc
le seul hic est que je suis totalement novice en VBA et donc tout ceci est du charabia....j'ai bien essayé d'écrire quelquechose, mais il y a plein d'erreurs car je ne maîtrise pas la syntaxe...
Voila en Français ce que ça donne :
Si la variabe [A1] (=celulle A1) est trouvée dans la plage B4:BD4 ET que la variable [C3] (celulle C3) est trouvée dans la plage A7:A37, ALORS il faut copier la variable [B2] (celulle B2) à l'intersection du N° de colonne et du N° de ligne correspondant et ce dans la plage B7:BD37
Je ne sais pas comment faire le test pour l'intersection et comment aller copier la valeur qui m'ntéresse à l'intersection ds deux autres variables.
Peux tu eclairer ma lanterne ????
D'avance merci
Marc
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
11 févr. 2010 à 07:58
11 févr. 2010 à 07:58
Exact, j'avais oublié le .column au bout
marccoumes
Messages postés
15
Date d'inscription
mardi 14 octobre 2008
Statut
Membre
Dernière intervention
11 mars 2010
4
11 févr. 2010 à 11:16
11 févr. 2010 à 11:16
Bonjour et merci pour ton aide.
le seul hic est que je suis totalement novice en VBA et donc tout ceci est du charabia....j'ai bien essayé d'écrire quelquechose, mais il y a plein d'erreurs car je ne maîtrise pas la syntaxe...
Voila en Français ce que ça donne :
Si la variabe [A1] (=celulle A1) est trouvée dans la plage B4:BD4 ET que la variable [C3] (celulle C3) est trouvée dans la plage A7:A37, ALORS il faut copier la variable [B2] (celulle B2) à l'intersection du N° de colonne et du N° de ligne correspondant et ce dans la plage B7:BD37
Je ne sais pas comment faire le test pour l'intersection et comment aller copier la valeur qui m'ntéresse à l'intersection ds deux autres variables.
Sans abuser de ton temps précieux, Peux tu néanmoins éclairer ma lanterne ????
D'avance merci
Marc
le seul hic est que je suis totalement novice en VBA et donc tout ceci est du charabia....j'ai bien essayé d'écrire quelquechose, mais il y a plein d'erreurs car je ne maîtrise pas la syntaxe...
Voila en Français ce que ça donne :
Si la variabe [A1] (=celulle A1) est trouvée dans la plage B4:BD4 ET que la variable [C3] (celulle C3) est trouvée dans la plage A7:A37, ALORS il faut copier la variable [B2] (celulle B2) à l'intersection du N° de colonne et du N° de ligne correspondant et ce dans la plage B7:BD37
Je ne sais pas comment faire le test pour l'intersection et comment aller copier la valeur qui m'ntéresse à l'intersection ds deux autres variables.
Sans abuser de ton temps précieux, Peux tu néanmoins éclairer ma lanterne ????
D'avance merci
Marc
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
11 févr. 2010 à 11:41
11 févr. 2010 à 11:41
ca devrai faire un truc dans ce genre là
le commentaire entre /* et */ sont pour ta compréhension, tu doit les enlever quand tu copira le code (sinon ca bug ^^)
Dim l As Integer Dim c As Integer With Sheets("feuil1") While (.Cells(4, i).Value <> "" And .Cells(i, 1).Value <> "") Or (l = "" And c = "")/*tant que la fin de ta ligne de fruit et de ta colonne de date n'est pas atteinte ou que les valeurs cherché ne sont pas trouvé alors on continu le parcours*/ If .Cells(4, i).Value = .Range("A1").Value Then c = i If .Cells(i, 1).Value = .Range("C3").Value Then l = i i = i + 1 Wend If l <> "" And c <> "" Then .Cells(l, c).Value = .Range("B2").Value End With
le commentaire entre /* et */ sont pour ta compréhension, tu doit les enlever quand tu copira le code (sinon ca bug ^^)
marccoumes
Messages postés
15
Date d'inscription
mardi 14 octobre 2008
Statut
Membre
Dernière intervention
11 mars 2010
4
11 févr. 2010 à 17:04
11 févr. 2010 à 17:04
Merci pour ta réponse. Effectivement je n'aurais pas pu trouver tout seul malgré l'aide de VBA.
J'ai copié ton bout de prog sur la Private Sub CommandButton2_Click()
J'ai un bug sur une ligne : While (.Cells(4, i).Value <> "" And .Cells(i, 1).Value <> "") Or (l = "" And c = "")
Le système me met une messagebox avec "ereur d'exécution 1004" + "Erreur définie par l'application ou par le projet"
Ci joint le prog :
Private Sub CommandButton1_Click()
Unload UserForm1
End Sub
Private Sub ListBox1_Change()
[C3] = UserForm1.ListBox1
End Sub
Private Sub TextBox1_Change()
[A1] = UserForm1.TextBox1
End Sub
Private Sub TextBox2_Change()
[B1] = UserForm1.TextBox2
End Sub
Private Sub CommandButton2_Click()
Dim l As Integer
Dim c As Integer
With Sheets("janvier")
While (.Cells(4, i).Value <> "" And .Cells(i, 1).Value <> "") Or (l = "" And c = "")
If .Cells(4, i).Value = .Range("A1").Value Then c = i
If .Cells(i, 1).Value = .Range("C3").Value Then l = i
i = i + 1
Wend
If l <> "" And c <> "" Then .Cells(l, c).Value = .Range("B2").Value
End With
End Sub
Private Sub UserForm_Click()
End Sub
Désolé de t'embêter encore une fois....mais on tient le bon bout !!! je l'espère, on a jamais été aussi près !!!
Encore merci pour ton aide
Cordialement
Marc
J'ai copié ton bout de prog sur la Private Sub CommandButton2_Click()
J'ai un bug sur une ligne : While (.Cells(4, i).Value <> "" And .Cells(i, 1).Value <> "") Or (l = "" And c = "")
Le système me met une messagebox avec "ereur d'exécution 1004" + "Erreur définie par l'application ou par le projet"
Ci joint le prog :
Private Sub CommandButton1_Click()
Unload UserForm1
End Sub
Private Sub ListBox1_Change()
[C3] = UserForm1.ListBox1
End Sub
Private Sub TextBox1_Change()
[A1] = UserForm1.TextBox1
End Sub
Private Sub TextBox2_Change()
[B1] = UserForm1.TextBox2
End Sub
Private Sub CommandButton2_Click()
Dim l As Integer
Dim c As Integer
With Sheets("janvier")
While (.Cells(4, i).Value <> "" And .Cells(i, 1).Value <> "") Or (l = "" And c = "")
If .Cells(4, i).Value = .Range("A1").Value Then c = i
If .Cells(i, 1).Value = .Range("C3").Value Then l = i
i = i + 1
Wend
If l <> "" And c <> "" Then .Cells(l, c).Value = .Range("B2").Value
End With
End Sub
Private Sub UserForm_Click()
End Sub
Désolé de t'embêter encore une fois....mais on tient le bon bout !!! je l'espère, on a jamais été aussi près !!!
Encore merci pour ton aide
Cordialement
Marc
marccoumes
Messages postés
15
Date d'inscription
mardi 14 octobre 2008
Statut
Membre
Dernière intervention
11 mars 2010
4
11 mars 2010 à 16:16
11 mars 2010 à 16:16
Bonjour,
N'étant pas sur que tu ais eu mon dernier post, pourrais tu regarder le bug que j'ai suite au prog que tu m'as envoyé stp ?
Merci d'avance
Marc
N'étant pas sur que tu ais eu mon dernier post, pourrais tu regarder le bug que j'ai suite au prog que tu m'as envoyé stp ?
Merci d'avance
Marc
10 févr. 2010 à 18:49
As tu pu regarder le lien pour mon problème de tableau ????
Merci d'avance
Cordialement