Instruction For...if...then

  • Initiateur de la discussion Initiateur de la discussion jpdestetienne!
  • 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 !

J

jpdestetienne!

Guest
Bonjour tout le monde.
Avant tout, sachez juste que je n'ai rien trouvé dans le forum qui puisse répondre à ma question, ni dans l'aide d'Excel!
J'ai donc un nouveau petit problème, toujours sur le même sujet!
Cette fois ci, cela concerne le repport d'un tableau dans une nouvelle feuille.
Pour faire ceci, je parcours toutes les cellules de chaque lignes, et je les repporte dans le new tableau.

A un moment, j ' ai écrit ceci :

.... For Each cell In MaPlage
ZoneI(i) = cell.Offset(0, 9)
ZoneJ(i) = cell.Offset(0, 10)

If ZoneI(i) = "0" Then

ZoneA(i) = cell.Value
Sheets("Feuil3").Range("E" & iF2 + 4) = ZoneA(i)

ZoneB(i) = cell.Offset(0, 2)
Sheets("Feuil3").Range("B" & iF2 + 4) = ZoneB(i)

ZoneC(i) = cell.Offset(0, 3)
Sheets("Feuil3").Range("C" & iF2 + 4) = ZoneC(i)

ZoneD(i) = cell.Offset(0, 4)
Sheets("Feuil3").Range("D" & iF2 + 4) = ZoneD(i)

ZoneE(i) = cell.Offset(0, 5)
Sheets("Feuil3").Range("A" & iF2 + 4) = ZoneE(i)

ZoneF(i) = cell.Offset(0, 6)
Sheets("Feuil3").Range("F" & iF2 + 4) = ZoneF(i)

ZoneG(i) = cell.Offset(0, 7)
ZoneH(i) = cell.Offset(0, 8)
If ZoneG(i) = "0" Then Sheets("Feuil3").Range("G" & iF2 + 4) = ZoneH(i)
If ZoneG(i) > "0" Then Sheets("Feuil3").Range("G" & iF2 + 4) = ZoneG(i) & "-" & ZoneH(i)
If ZoneH(i) = "illimité" Then Sheets("Feuil3").Range("G" & iF2 + 4) = ">" & ZoneG(i)


Sheets("Feuil3").Range("H" & iF2 + 4) = ZoneJ(i)


ZoneK(i) = cell.Offset(0, 11)
Sheets("Feuil3").Range("I" & iF2 + 4) = ZoneK(i)

ZoneL(i) = cell.Offset(0, 16)
Sheets("Feuil3").Range("M" & 2) = ZoneL(i)

ZoneM(i) = cell.Offset(0, 17)
Sheets("Feuil3").Range("F" & 2) = ZoneM(i)

i = i + 1
iF2 = iF2 + 1
End If


If ZoneI(i) > "0" Then

ZoneA(i) = cell.Value
Sheets("Feuil3").Range("E" & iF2 + 4) = ZoneA(i)
Sheets("Feuil3").Range("E" & iF2 + 5) = ZoneA(i)

ZoneB(i) = cell.Offset(0, 2)
Sheets("Feuil3").Range("B" & iF2 + 4) = ZoneB(i)
Sheets("Feuil3").Range("B" & iF2 + 5) = ZoneB(i)

ZoneC(i) = cell.Offset(0, 3)
Sheets("Feuil3").Range("C" & iF2 + 4) = ZoneC(i)
Sheets("Feuil3").Range("C" & iF2 + 5) = ZoneC(i)

ZoneD(i) = cell.Offset(0, 4)
Sheets("Feuil3").Range("D" & iF2 + 4) = ZoneD(i)
Sheets("Feuil3").Range("D" & iF2 + 5) = ZoneD(i)

ZoneE(i) = cell.Offset(0, 5)
Sheets("Feuil3").Range("A" & iF2 + 4) = ZoneE(i)
Sheets("Feuil3").Range("A" & iF2 + 5) = ZoneE(i)

ZoneF(i) = cell.Offset(0, 6)
Sheets("Feuil3").Range("F" & iF2 + 4) = ZoneF(i)
Sheets("Feuil3").Range("F" & iF2 + 5) = ZoneF(i)

ZoneG(i) = cell.Offset(0, 7)
ZoneH(i) = cell.Offset(0, 8)
If ZoneG(i) = "0" Then Sheets("Feuil3").Range("G" & iF2 + 4) = ZoneH(i)
Sheets("Feuil3").Range("G" & iF2 + 5) = ZoneH(i)

Else: Sheets("Feuil3").Range("G" & iF2 + 4) = ZoneG(i)
Sheets("Feuil3").Range("G" & iF2 + 5) = ZoneG(i)
Sheets("Feuil3").Range("G" & iF2 + 6) = ZoneH(i)
Sheets("Feuil3").Range("G" & iF2 + 7) = ZoneH(i)

If ZoneH(i) = "illimité" Then Sheets("Feuil3").Range("G" & iF2 + 4) = ">" & ZoneG(i)

Sheets("Feuil3").Range("H" & iF2 + 4) = ZoneI(i)
Sheets("Feuil3").Range("H" & iF2 + 5) = ZoneJ(i)

ZoneK(i) = cell.Offset(0, 11)
Sheets("Feuil3").Range("I" & iF2 + 4) = ZoneK(i)
Sheets("Feuil3").Range("I" & iF2 + 5) = ZoneK(i)
ZoneL(i) = cell.Offset(0, 16)
Sheets("Feuil3").Range("M" & 2) = ZoneL(i)

ZoneM(i) = cell.Offset(0, 17)
Sheets("Feuil3").Range("F" & 2) = ZoneM(i)

i = i + 1
iF2 = iF2 + 2
End If


Next cell
....






Et là, ça plante!
Je pense que j'ai oublié un "end if", ou autre chose comme ça, mais impossible de voir où.

Suis-je assez précis?
Quelqu'un peut-il m'aider.
Merçi d'avance.
Cordialement, JP
 
Bon en fait c'est peut etre pas très clair ce que je vous ai marqué!
En gros je voudrais savoir s'il est possible d'écrire un truc de ce genre sans que ça bugg :



Pour chaque cellule
Si "toto>0" alors
toto devient tata....
Si "toto=0" alors
toto devient titi...
Cellule suivante





Merçi et bonne journée.
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
812
Réponses
3
Affichages
842
  • Question Question
Microsoft 365 VBA Transpose
Réponses
11
Affichages
871
Retour