Bonjour
je cherche à savoir la syntaxe pour copier la valeur d'une variable dans une cellule d'un autre classeur classeur .. merci d'avance
Bonjour
je cherche à savoir la syntaxe pour copier la valeur d'une variable dans une cellule d'un autre classeur classeur .. merci d'avance
Bonjour Iichham,
Pourrais-tu développer un peu STP car là c'est un plutôt vague. Où se trouve ta variable en entrée ? Est-ce le contenu d'une cellule entière ou une partie de celle-ci, veux-tu passer par une macro, etc... ?
Runsh
désolé de ma maladresse de manipulation du au fait que je suis nouveau dans le forum. je suis aussi débutant en VBA (chose qui explique un peu mon code)
en fait j'ai deux classeurs... dans le premier j'ai fais une boucle qui cherche une valeur(15/90) dans la colonne A une fois trouver, j ai mis une deuxième conditions pour si dans la deuxième cellule à droite j'ai la valeur Contrat_Z9 si oui la variable Var prend la valeur de la cellule(0,10)
je veux par la suite copier la valeur renseignée dans Var dans la cellule I:1 de la feuille 1 d'un autre classeur
petit aperçu de mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub Copier() Dim Plage as Range, Cellule As Range, Var As Range Set Plage = Range("A1:A100") For Eche Cellule In Plage Select Case Cellule.Value case "15/90" If (Cellule.Offset(0,2)="Contrat_Z9") then set Var = Cellule.Offset(0,10) ' la je veux copier la valeur que prend la variable Var dans un autre classeur ("Rapport.xlsx") dans la feuille("Feuil1") et dans la cellule ("I:1") End Sub
Du code vite fait (non testé) pour copier des cellules d'un classeur à un autre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Sub TestCopy() Dim C1 As Workbook, C2 As Workbook Dim i As Integer Set C1 = Workbooks("Classeur1") Set C2 = Workbooks("Classeur2") With C1 With Sheets("Feuil1") For i = 1 To 100 Cells(i, 1).Copy C2.Sheets("Feuil1").Cells(i, 1) Next i End With End With Set C1 = Nothing Set C2 = Nothing End Sub
Runsh
De ce que j'ai compris de ton dernier post (je n'avais pas vu que tu avais modifié entre temps...), tu testes sur une plage allant de A1 à Axxx les valeurs. Si tu trouves 15/90, alors tu vas tester en C de la même ligne la valeur. Si "Contrat_Z9", alors tu copies la valeur de la cellule J de la même ligne pour aller la copier dans le classeur "Rapport" en cellule I1. Si oui, alors, voilà le code que j'ai bidouillé (à adapter).
L'embêtant c'est que si tu as plusieurs fois les bonnes conditions réunis, tu auras en I1 de la feuille "Rapport" uniquement la dernière valeur trouvée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub TestCopy() Dim C1 As Workbook, C2 As Workbook Dim i As Integer Set C1 = Workbooks("Classeur1") Set C2 = Workbooks("Rapport") With C1 With Sheets("Feuil1") For i = 1 To 100 If Cells(i, 1).Value = "15/90" Then If Cells(i, 3).Value = "Contrat_Z9" Then Cells(i, 10).Copy C2.Sheets("Feuil1").Cells(1, 9) End If End If Next i End With End With Set C1 = Nothing Set C2 = Nothing End Sub
Runsh
merci ça marche nickel j'ai pu adapter ton code au mien... cependant y a il moyen à se que je passe les valeurs du premier classeur sans pour autant ouvrir le classeur Rapport ?
Salut Iichham,
Peut-être qu'il y a moyen mais ça dépasse largement mes compétences. Attends donc qu'un mercatog, pgz ou autre brute de la programmation passe par là
Runsh
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager