🐍 Cours de programmation Python sur Excel 💻

🔁 Les boucles

Une boucle permet de répéter automatiquement une série d'instructions. Sans boucle, il faudrait recopier plusieurs fois le même code. Les boucles permettent donc d'écrire des programmes plus courts, plus lisibles et plus faciles à maintenir. Les boucles sont particulièrement utiles lorsque l'on travaille sur :



🤔 Pourquoi utiliser une boucle ?

Les deux exemples suivants produisent le même résultat :


    print(1)
    print(2)
    print(3)
    print(4)
    print(5)

Peut être remplacé par :


    for i in range(5):
        print(i + 1)

La deuxième solution est plus courte et plus facile à modifier. Les boucles reposent sur le même principe que les conditions : les deux-points (:) annoncent un bloc d'instructions et l'indentation indique quelles lignes appartiennent à ce bloc.



🔁 La boucle while

La boucle while (tant que) répète des instructions tant qu'une condition reste vraie. La syntaxe générale est la suivante :


    while condition:
        instructions

Exemple :


    compteur = 1

    while compteur <= 5:
        print(compteur)
        compteur = compteur + 1

Résultat :


    1
    2
    3
    4
    5

À chaque passage dans la boucle, la variable compteur est augmentée de 1. Lorsque la condition compteur <= 5 devient fausse, la boucle s'arrête automatiquement.


⚠️ Attention aux boucles infinies ⚠️

Si la condition reste toujours vraie, la boucle ne se terminera jamais.


    compteur = 1

    while compteur <= 5:
        print(compteur)

Dans cet exemple, compteur n'est jamais modifié. La condition reste donc toujours vraie et la boucle devient infinie.

Attention : une boucle infinie peut bloquer le programme ou faire planter Excel.



↩️ La boucle for

La boucle for est la boucle la plus utilisée en Python. Elle permet de parcourir une série de valeurs automatiquement.


Utilisation avec range()

La fonction range() génère une suite de nombres.


    for i in range(5):
        print(i)

Résultat :


    0
    1
    2
    3
    4

Le nombre 5 n'est pas inclus.


Début et fin


    for i in range(1, 6):
        print(i)

Résultat :


    1
    2
    3
    4
    5

Pas d'incrémentation

Il est possible de définir un pas.


    for i in range(0, 11, 2):
        print(i)

Résultat :


    0
    2
    4
    6
    8
    10

Parcourir une liste

Les boucles for sont très souvent utilisées avec les listes.


    animaux = ["Chien", "Chat", "Rat"]

    for animal in animaux:
        print(animal)

Résultat : À chaque passage dans la boucle, la variable animal reçoit automatiquement l'élément suivant de la liste.


    Chien
    Chat
    Rat

Parcourir une liste de listes


    zoo = [["Girafe", 4], ["Singe", 10], ["Lion", 6]]

    for enclos in zoo:
        print(enclos)

Résultat :


    ['Girafe', 4]
    ['Singe', 10]
    ['Lion', 6]

Cette technique est particulièrement utile pour travailler sur des tableaux provenant d'Excel.



🛑 Interrompre une boucle

L'instruction break permet de quitter immédiatement une boucle.


    for i in range(10):

        if i == 5:
            break

        print(i)

Résultat : Dès que la valeur 5 est rencontrée, la boucle s'arrête.


    0
    1
    2
    3
    4

↪️ Passer à l'itération suivante

L'instruction continue permet de sauter le reste des instructions de l'itération courante.


    for i in range(5):

        if i == 2:
            continue

        print(i)

Résultat : La valeur 2 n'est pas affichée car l'instruction continue passe directement à l'itération suivante.


0
1
3
4


🟩 Les boucles et Excel

Les boucles sont particulièrement utiles avec les données provenant d'Excel. Lorsqu'une plage de cellules est transmise à une fonction Python, celle-ci est généralement convertie en liste de listes.


    [["Thomas", 35], ["Brahim", 32], ["Anna", 18]]

Une boucle permet alors de traiter chaque ligne du tableau.


    for ligne in tableau:
        print(ligne)

Ou d'accéder directement aux colonnes, les boucles sont donc l'outil principal pour parcourir automatiquement les données d'un tableau Excel.


    for ligne in tableau:

        nom = ligne[0]
        age = ligne[1]

        print(f"{nom} a {age} ans")