Faire varier Des plages de cellules en VBA

  • Initiateur de la discussion Initiateur de la discussion Eliane
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

Eliane

Guest
'Bonjour

'J'aimerai faire varier ce qui est écrit après le mot Range ci-dessous :

For Each cel In Sheets(1).Range('A56:J79')

'Quelle est la syntaxe à utiliser ?

'J'ai tenté la syntaxe ci-dessous mais le résultat n'est pas bon
For Each cel In Sheets(1).Cells(1, 56).Cells(10, 79)

'Quelqu'un pourrait-il me donner la bonne syntaxe

'D'avance merci

'Eliane
 
KO:Faire varier Des plages de cellules en VBA

'Bonjour PierreJean et le Forum

'J'ai donc essayé ta sympathique proposition mais j'obtiens 'erreur d'execution '1004': ' quand j'utilise ta syntaxe avec les quelques lignes ci-dessous :

Sub somme()
For n = 4 To 4 + 32
total = 0
prenom = Sheets('Planning').Cells(3, n)

'la ligne qui suit produit l'erreur 1004 : 'erreur définie par l'application ou par l'objet'
For Each cel In Sheets(1).Range(Cells(1, 56), Cells(10, 79))

If cel = prenom Then total = total + cel.Offset(0, -1)
Next cel
Sheets('Planning').Cells(5, n) = total
Next n
End Sub

'Qu'elle erreur de Débutante ai-je fais ?

'D'avance merci

'Eliane
 
Re:KO:Faire varier Des plages de cellules en VBA

bonjour Eliane

j'ais testé ta macro avec pour seule modif feuil1 et feuil2 en lieu et place de planning et elle tourne !!!

par contre je constate que tu fais varier les lignes meme quand tu ecris la somme ce qui m'etonne un peu

peux-tu elaguer ton fichier et le poster ?

on jugera mieux sur piece !!
 
Re:KO:Faire varier Des plages de cellules en VBA

Bonjour Eliane,

Deux ou trois conseils :
1. Ne pas utiliser de noms tels que 'SOMME', 'TOTAL' qui sont aussi parfois utilisés dans les formules Excel.
2. Déclarer tes variables

Je pense que ton pb peut venir de la feuille qui est n'est pas nommée et activée. Dans ta macro, on trouve :
Code:
sheets(1).Range(Cells(1, 56), Cells(10, 79))
que tu pourrais remplacer par
Code:
Worksheets('Feuil1').Range(Cells(1, 56), Cells(10, 79))

Essaie ceci :
Code:
Sub som()
Dim n As Variant
Dim Tot As Double
Dim cel As Range
For n = 4 To 4 + 32
Tot = 0
prenom = Sheets('Planning').Cells(3, n)
Worksheets('feuil1').Activate
For Each cel In Worksheets('Feuil1').Range(Cells(1, 56), Cells(10, 79))
If cel = prenom Then Tot = Tot + cel.Offset(0, -1)
Next cel
Sheets('Planning').Cells(5, n) = Tot
Next n
End Sub

Si pb n'hésite pas.

😉

Message édité par: Dan, à: 05/03/2006 16:48
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
734
Réponses
3
Affichages
922
Retour