Code VBA excel

cs_luz09 Messages postés 5 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 19 février 2003 - 17 févr. 2003 à 10:29
cs_azerty75 Messages postés 2 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 10 mars 2003 - 10 mars 2003 à 22:31
Bonjour,
je sais que ça va vous paraître bateau... mais, j'ai un soucis.
J'ai deux feuilles excel (feuil1 et feuil2).
Je voudrais à partir du code VBA, récupérer les données d'une cellule A1 de la feuil2 et les affecter à la cellule B2 de la feuil1.
Ceci est un exemple.

Si quelque'un pouvait m'aider ce serait sympa.
Merci !
A+

16 réponses

cs_marcelin Messages postés 181 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 22 décembre 2016
17 févr. 2003 à 10:46
tu fais:
feuil1.range("B2").value = feuil2.range("A1").value
voila

a+

marcelin 8-)
0
cs_luz09 Messages postés 5 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 19 février 2003
17 févr. 2003 à 11:14
déjà fait, mais ça fonctionne pas...
en fait c'est deux classeurs différents d'où le pb...
j'ai essayé tout ce que je connaissais et même plus et rien n'y fait, toujours le même msg d'erreur :
"l'indice n'appartient pas à la séléction".

Mais merci quand même.
A+
0
cs_marcelin Messages postés 181 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 22 décembre 2016
17 févr. 2003 à 11:42
c'est par ce qu'il faut que tu ouvre un autre workbook.
tu aurais peut être due commencer par aporter cette petite précision........ ;)

tu crée un objet workbook comme ca
dim classeur as worbook

tul'ouvre avec la méthode set(comme pour un BDD)

et tu pointe tes formulaire avec tes workbook

classeur.feuil1.range("A").value

voila si tu vaus plus de précision n'hesite pas à dem

a+

marcelin 8-)
0
cs_luz09 Messages postés 5 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 19 février 2003
17 févr. 2003 à 11:56
Merci de vouloir m'aider, mais là ça devient désespérant...
j'avais commencer par là et rien n'y fait, le message d'erreur est le même.
même en forçant :
Workbooks("class1").Worksheets("feuill1").Range("A1").Value = Workbooks("class2").Sheets("feuil2").Cells(2, 4).Value

ça ne fonctionne toujours pas !!!
si tu as d'autres idées, elles sont les bienvenues.
Merci !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_poupouss Messages postés 8 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 6 mars 2003
17 févr. 2003 à 20:51
Salut

Je voudrais savoir si cela marche quand on veut récupérer les données qui se trouvent dans une liste et non pas dans une seule cellule. J'ai une userfom combobox qui apparait dans une feuille et je souhaiterais que la liste de référence se trouve dans une autre feuille

Merci d'avance
0
cs_marcelin Messages postés 181 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 22 décembre 2016
18 févr. 2003 à 08:38
si je comprend bien tu voudrais remplir ta combobox avec les valeur qui se trouverais sur une feuille?

si c'est ca tu fais ca :
tu les met tous(tes élément) les un sous les autre(dans une colone quoi !!) et tu fais:
i = [N° de ligne du 1er element]
while range("A" & i).value <> ""
combobox.additem range("A" & i).value
wend

voila c'est tout comme je l'ai compris

a+

marcelin 8-)
0
cs_poupouss Messages postés 8 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 6 mars 2003
18 févr. 2003 à 21:28
Salut Marcelin

Enfait je voudrais connaître le synthaxe pour:
J'ai un classeur avec deux feuilles. Dans la feuille A, un userform s'ouvre avec un clic droit sur une certaine cellule. Je voudrais que les éléments qui apparaissent dans ce userform (liste déroulante) soit basé dans la feuille B
Voilà j'espére que c'est plus simple comme cela
Merci d'avance
@+
0
cs_marcelin Messages postés 181 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 22 décembre 2016
19 févr. 2003 à 08:35
donc tu fais une feuille qui sert d'affichage et une feuille qui sert de sauvegarde de données

ben donc tu fais le code que je t'ai filer avant c'est a dire :
"
'var
dim i as integer

'debut
i = [N° de ligne du 1er element]

while feuilB.range("A" & i).value <> ""

combobox.additem range("A" & i).value

wend

"
le control range utilise les celulle.

mais tu peut aussi utiliser "cell" si tes données sont stocker à l'horizontale

a+

marcelin 8-)
0
cs_poupouss Messages postés 8 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 6 mars 2003
19 févr. 2003 à 11:51
Re salut Marcelin
Voilà le code de mon userform
Private Sub UserForm_Activate()
Dim DerniereMarque As String
DerniereMarque = Range("A1").End(xlDown).Address
' Plage de données pour afficher dans liste déroulante
Marque.RowSource = "A1:" & DerniereMarque
' Afficher la première marque de la liste (0)
Marque.ListIndex = 0
End Sub

Private Sub Valider_Click()
ListeDeroulante.Hide
Index = Marque.ListIndex
ChoixMarque = Marque.List(Index)
' Stockage du résultat dans la cellule D2
Range("D2").Value = ChoixMarque
End Sub

Merci de m'aider pour la synthaxe qui fait référence la feuile deux pour localiser les données
0
cs_marcelin Messages postés 181 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 22 décembre 2016
19 févr. 2003 à 15:45
deja commence par metre ton code dans le form_load et non dans l'activate......
ensuite tu boucle sur rien du tout la
et pour ermplir une liste il faut utiliser le AddItem
essaye un truc du style
form_load()
'var
dim i as integer
'debut
i = 1
while range("A" & i) <> ""
marque.additem range("A" & i)
i=i+1
wend
end sub

ca devrai marcher ....
mais réadapte surment un peu le code....

a+

marcelin
8-)
0
cs_marcelin Messages postés 181 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 22 décembre 2016
19 févr. 2003 à 15:47
sur le form_load.......
0
cs_luz09 Messages postés 5 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 19 février 2003
19 févr. 2003 à 16:48
De quoi ???
0
cs_poupouss Messages postés 8 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 6 mars 2003
19 févr. 2003 à 18:06
Je te mets une adresse e-mail, tu peux m'y écrire et je te renverrai le fichier que j'ai préparé, car je ne comprend pas tout
Arnaud.POUSSIER@wanadoo.fr
Merci
0
cs_marcelin Messages postés 181 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 22 décembre 2016
20 févr. 2003 à 08:26
ben ton code au lieu de le mettre dans le form_activate()
met le dans le form_load

a+

marcelin
0
cs_marcelin Messages postés 181 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 22 décembre 2016
20 févr. 2003 à 08:32
désoler, mais je me suis gourer je croi...... vous êtes deux a avoir des problemes dans cette liste de mess....

sinon pour toi j'ai la possibiliter du "on recomence tout dans un autre dossier excel".
je pense que tu es une victime de plus du complot de Microsoft, pour empêcher les honnete gens de travailer, dans de bonne condition.
C'est un bug d'Excel.
recommence la même chose(copier-coller autoriser) si tu t'en sen le courrage. ce peut passer comme ca.....Merci Microsoft

a+

marcelin
0
cs_azerty75 Messages postés 2 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 10 mars 2003
10 mars 2003 à 22:31
AZERTY75
j'espere que ton probleme est resolu ssinon le code ci-apres a ete teste
on imagine classeur 1 ouvert il comprend sub suivante

Workbooks.Open ("C:\Mes documents\Classeur2.xls")

Workbooks("classeur1").Sheets("feuil1").Range("A1").Copy _
Destination:=Workbooks("classeur2").Sheets"feuil2").Range("B2")
si cela peut t aider
slt
0
Rejoignez-nous