Helen a utilisé une macro pour générer un modèle simple de nombres. Le motif, qui est contenu dans une seule colonne, ressemble à ceci:

1,1,0,2,2,0,3,3,0,4,4,0,...

Helen se demandait s’il existe un moyen de générer le même modèle en utilisant une formule au lieu d’une macro.

En fait, il existe plusieurs formules différentes que vous pouvez utiliser pour obtenir le modèle souhaité. Une façon est de commencer par votre séquence d’amorçage (1, 1, 0) dans les cellules A1 à A3. Ensuite, entrez la formule = A1 + 1 dans la cellule A4, la formule = A4 dans la cellule A5 et la formule = A3 dans la cellule A6. Vous pouvez maintenant sélectionner les cellules au format A4: A6 et utiliser la poignée de recopie pour faire glisser et remplir le nombre de lignes dont vous avez besoin.

Une approche formulée différente consiste à placer toujours votre séquence de départ (1, 1, 0) dans les cellules A1 à A3, puis à entrer la formule suivante dans la cellule A4:

=IF(A1<>0,A1+1,0)

Vous pouvez copier cette formule autant de cellules que nécessaire pour répéter le motif souhaité.

Si vous ne souhaitez pas utiliser de séquence de départ (par exemple, la séquence commencera toujours par 1, 1, 0), vous pouvez utiliser une formule simple commençant par la cellule A1. L’une ou l’autre des formules suivantes produira les mêmes résultats:

=IF(MOD(ROW(),3)=0,0,INT(ROW()/3)+1)

=(INT(ROW()/3)+1)*(MOD(ROW(),3)<>0)

Les formules (et de nombreuses variantes de ces formules) examinent la ligne dans laquelle la formule est positionnée, puis déterminent si elle se trouve dans la première, la deuxième ou la troisième ligne de chaque ensemble. Sur la base de cette position, la formule détermine si elle doit afficher le « nombre défini » (1, 2, 3, etc.) ou une valeur nulle.

Si votre modèle ne commence pas dans la première ligne d’une feuille de calcul, vous devez ajuster la formule pour tenir compte d’un décalage par rapport à la première ligne. Par exemple, si le modèle va commencer dans la deuxième ligne (vous pouvez avoir un en-tête dans la première ligne), alors les formules peuvent être ajustées de cette manière:

=IF(MOD(ROW()-1,3)=0,0,INT((ROW()-1)/3)+1)

=(INT((ROW()-1)/3)+1)*(MOD(ROW()-1,3)<>0)

Mettez simplement la formule dans la deuxième ligne et copiez-la, si nécessaire. Pour ajuster le décalage pour n’importe quelle autre ligne, modifiez simplement les valeurs -1 (deux d’entre elles dans chaque formule) par le nombre de lignes que vous avez poussées vers le bas de la formule à partir de la première ligne.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (11988) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.

Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Patterns_of_Numbers_with_a_Formula [Modèles de nombres avec une formule].