Votre question

VBA Excel mise à jour

Tags :
  • Microsoft Excel
  • Programmation
Dernière réponse : dans Programmation
16 Août 2010 10:08:07

Bonjour, j'ai été chargé par ma supérieure de créer une macro permettant de mettre les différents marchés d'un fichier excel à partir d'un autre.

Commes les mises à jour doivent pouvoir se faire en fonction des différents trimestres et semestres de l'année, j'ai fait un formulaire permettant de choisir la periode sur laquelle actualiser les champs.

Mon code complet est un peu long, aussi je ne présenterais que la partie posant problème, j'ai déjà vérifié que tout le reste fonctionnait correctement.

La partie du code problématique est le suivante:

  1. For j = 1 To 6
  2. h = j - 1
  3. While Cells(i, 1).Value <> 0
  4. If Cells(i, 5).Value = periode(h) Then
  5. cac = Cells(i, 4).Value
  6. Application.Workbooks(nom2).Activate
  7. Set cel = Cells.Find(What:=cac, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
  8. xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
  9. , SearchFormat:=False
  10. If cel Is Nothing Then
  11. Application.Workbooks(nom1).Activate
  12. Cells(i, 31).Value = "CAC introuvable"
  13. Else
  14. cel.Select
  15. line = Selection.Row
  16. prog = Cells(line, 10).Value
  17. paye = Cells(line, 12).Value
  18. Application.Workbooks(nom1).Activate
  19. Cells(i, 31).Value = paye
  20. Cells(i, 33).Value = prog
  21. End If
  22. Else: End If
  23. i = i + 1
  24. Wend
  25. Next j


La variable "periode" est un tableau de taille fixe à 6 champs dans lequel je rentre les trimestres et semestres à actualiser (T1, S1, etc...), il s'agit d'un string.

Mon problème est que je n'ai aucun rapport d'erreur, le code s'exécute, mais les cellules à actualiser restent désespérément vides, j'ai vérifié les paramètre de verrouillage des cellules, tout est normal, je ne sais plus où chercher.

Merci d'avance pour votre aide, j'espère avoir été clair dans mon explication.

Cordialement,


Autres pages sur : vba excel mise jour

16 Août 2010 13:14:25

Désolé, j'ai trouvé mon erreur, pour info, il fallait réinitialiser la variable i à chaque boucle.
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS