Problème travail sur 2 feuilles avec 1 programme vba
Résolu/Fermé
A voir également:
- Problème travail sur 2 feuilles avec 1 programme vba
- Word numéro de page 1/2 - Guide
- Programme demarrage windows 10 - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Whatsapp avec 2 cartes sim - Guide
- Fusionner feuilles excel - Guide
4 réponses
Bonjour,
Comme je viens de poster un problème, j'ai vu votre question. Lorsqu'on manipule des données de plusieurs onglets, il est prudent de bien les définir.
Voici un petit exemple que vous pourrez adapter à votre procédure :
Bon courage
Jean
Comme je viens de poster un problème, j'ai vu votre question. Lorsqu'on manipule des données de plusieurs onglets, il est prudent de bien les définir.
Voici un petit exemple que vous pourrez adapter à votre procédure :
Option Explicit Dim WS1 As Worksheet Dim WS2 As Worksheet Sub test() Set WS1 = Sheets("Donnees") Set WS2 = Sheets("Results") WS1.Range("A10") = WS2.Range("C5") End Sub
Bon courage
Jean
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 750
2 mars 2016 à 13:03
2 mars 2016 à 13:03
Bonjour,
Pour compléter la réponse de GrandJean, lorsque l'on référence un objet dans un bloc With, il faut ensuite "rattacher" les objets s'y rapportant.
Pour cela, il suffit de mettre un point devant.
Exemple :
Pour compléter la réponse de GrandJean, lorsque l'on référence un objet dans un bloc With, il faut ensuite "rattacher" les objets s'y rapportant.
Pour cela, il suffit de mettre un point devant.
Exemple :
'sélectionne la Feuil1. Feuil1 = feuille active Sheets("Feuil1").Select With Sheets("Feuil2") 'se rapporte à la feuil2 (point devant) .Range("A1").Value = 18 'sans point devant se rapporte à la feuille active : Feuil1 Range("A1") = "salon de l'agriculture" End With
Merci de vos réponses.
J'ai combiné vos 2 reponses mais ça ne fonctionne toujours pas.
ps: j'ai bien déclaré les 2 worksheet au début de mon code
Si j'applique séparemment: premiere partie sur une macro sur feuille 2 puis j'active la macro de la feuille 1 pour aller chercher les données de la feuille 2 ça fonctionne
Mais j'aimerais ne pas avoir à aller activer une macro sur une feuille puis lancer ma macro principale de la feuille 1 après.
Le problème actuel c'est que ça me prend bien les données de la 2éme feuille mais ça ne met pas à jour ma deuxième feuille
J'ai combiné vos 2 reponses mais ça ne fonctionne toujours pas.
Set ws1 = Sheets("Matrice(charge x)") Set ws2 = Sheets("Objectifs") Sheets("Matrice(charge x)").Select With Sheets("Objectifs") For l = 2 To 11 If .Cells(1, 3) = .Cells(24, i) Then For m = 3 To 19 For n = 25 To 41 If .Cells(j, 1) = .Cells(k, i) Then .Cells(j, 2) = .Cells(k, i - 1) / 7 Exit For End If Next Next End If Next For l = 3 To 19 For m = 3 To 19 If Cells(l, 1) = .Cells(m, 1) Then Cells(l, i + 1) = .Cells(m, 6) Exit For End If Next Next End With
ps: j'ai bien déclaré les 2 worksheet au début de mon code
Si j'applique séparemment: premiere partie sur une macro sur feuille 2 puis j'active la macro de la feuille 1 pour aller chercher les données de la feuille 2 ça fonctionne
Mais j'aimerais ne pas avoir à aller activer une macro sur une feuille puis lancer ma macro principale de la feuille 1 après.
Le problème actuel c'est que ça me prend bien les données de la 2éme feuille mais ça ne met pas à jour ma deuxième feuille
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 306
Modifié par michel_m le 2/03/2016 à 13:48
Modifié par michel_m le 2/03/2016 à 13:48
Bojour
1/A quoi sert For l = 2 To 11
2/: tu met toujours la m^me valeur dans cells(1,3)?
3/ a quoi servent "n" et "m" ?
4/ d'où sortent "j" et "k" ?
For l = 2 To 11
If .Cells(1, 3) = .Cells(24, i) Then
For m = 3 To 19
For n = 25 To 41
If .Cells(j, 1) = .Cells(k, i) Then
.Cells(j, 2) = .Cells(k, i - 1) / 7
Exit For
End If
Next
Next
End If
Next
1/A quoi sert For l = 2 To 11
2/: tu met toujours la m^me valeur dans cells(1,3)?
3/ a quoi servent "n" et "m" ?
4/ d'où sortent "j" et "k" ?