Boucle VBA classeur
bal13ski
Messages postés
5
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai réaliser une macro avec une boucle seulement elle ne marche que sur l'onglet ou je suis. J'aimerais qu'elle se réalise sur l'ensemble du classeur. Pouvez vous me dire quel est le problème ?
Pour info elle est copiée dans l'onglet ThisWorkBook
Sub testmacrobouclev2()
Dim fl As Worksheet
For Each fl In ThisWorkbook.Worksheets
If fl.Name <> "RECAPITULATIF" And fl.Name <> "Notes" Then
Application.MaxChange = 0.00001
Range("ChangeCell").ClearContents
Range("ChangeCell").Value = "50000"
Range("GoalSeekCell").goalseek Goal:=0, ChangingCell:=Range("ChangeCell")
End If
Next fl
End Sub
J'ai réaliser une macro avec une boucle seulement elle ne marche que sur l'onglet ou je suis. J'aimerais qu'elle se réalise sur l'ensemble du classeur. Pouvez vous me dire quel est le problème ?
Pour info elle est copiée dans l'onglet ThisWorkBook
Sub testmacrobouclev2()
Dim fl As Worksheet
For Each fl In ThisWorkbook.Worksheets
If fl.Name <> "RECAPITULATIF" And fl.Name <> "Notes" Then
Application.MaxChange = 0.00001
Range("ChangeCell").ClearContents
Range("ChangeCell").Value = "50000"
Range("GoalSeekCell").goalseek Goal:=0, ChangingCell:=Range("ChangeCell")
End If
Next fl
End Sub
4 réponses
-
Bonjour,
Range("ChangeCell").ClearContents
Vous ne pouvez pas avoir plusieurs cellules ou plages de cellules de meme nom......!!!!! -
Bonjour
Si tu veux garder le même nom dans plusieurs feuilles il faut préciser la zone d'action
par ex en feuille2
--
ainsi quand tu écris
sheets(2).range("Toto").select , tu vas dans la cellule C2 de la feuille 2
Michel-
Merci à tous pour votre aide,j'ai un peu de mal à tout saisir !
du coup qu'est ce qui cloche dans mon code, il me met "objet requis"?
Sub testmacrobouclev2()
Dim Sheet, ChangeCell, GoalSeekCell
For Each Sheet In Worksheets
If Sheet.Name <> "RECAPITULATIF" And fl.Name <> "Notes" Then
Sheet(5).Application.MaxChange = 0.00001
Sheet(5).Range("ChangeCell").ClearContents
Sheet(5).Range("ChangeCell").Value = "50000"
Sheet(5).Range("GoalSeekCell").goalseek Goal:=0, ChangingCell:=Sheet(5).Range("ChangeCell")
Sheet(3).Application.MaxChange = 0.00001
Sheet(3).Range("ChangeCell").ClearContents
Sheet(3).Range("ChangeCell").Value = "50000"
Sheet(3).Range("GoalSeekCell").goalseek Goal:=0, ChangingCell:=Sheet(3).Range("ChangeCell")
End If
Next Sheet
End Sub
-
-
bonjour,
et si tu nous disais où se trouve l'erreur ? (surlignage en jaune)
-
sheets(5).name
m^me chose sur les autres
Dim sheet inutile
de m^me, si Range("ChangeCell") est une cellule nommée inutile de déclarer "changecell" (c"est du texte)
pareil pour "GoalSeekCell"
comme tu sembles débuter sur les macros, il vaut lieux apprendre les bases auparavant
www.info-3000.com/vbvba/index.php