Mise à jour de cellules en fonction d'une autre (même colonne)
Nat
-
Nat -
Nat -
Bonjour,
J'ai du mal à exprimer mon problème, et donc du mal à effectuer une recherche sur les forums de ce dont j'ai besoin. J'ai besoin de votre aide pour m'aider à, soit formuler ma recherche, soit résoudre mon problème.
Voici mon problème, j'ai un fichier excel avec 2 colonnes, une qui contient des noms d'étapes (plus d'une centaine), l'autre doit contenir leur ordre d’exécution.
Quand je remplis cet "ordre", j'aimerais que si j'insère un numéro déjà utilisé, toutes les cellules utilisant ce numéro ou un numéro supérieur soit incrémentées de 1.
Mon exemple:
"mon étape"; 1
"my step" ; 2
"étape" ; 3
"step" ;
Ainsi, dans mon exemple, quand je me rends compte que "step" doit être exécutée avant "my step" (numéro 2), je souhaiterais taper 2 en B4 et que B2 et B3 soient incrémentées automatiquement.
Le but "ultime" étant de finalement trier mes lignes en fonction de ce numéro...
J'ai regardé du côté de la validation des données mais sans résultat...
Des idées?
Cordialement,
Nat.
J'ai du mal à exprimer mon problème, et donc du mal à effectuer une recherche sur les forums de ce dont j'ai besoin. J'ai besoin de votre aide pour m'aider à, soit formuler ma recherche, soit résoudre mon problème.
Voici mon problème, j'ai un fichier excel avec 2 colonnes, une qui contient des noms d'étapes (plus d'une centaine), l'autre doit contenir leur ordre d’exécution.
Quand je remplis cet "ordre", j'aimerais que si j'insère un numéro déjà utilisé, toutes les cellules utilisant ce numéro ou un numéro supérieur soit incrémentées de 1.
Mon exemple:
"mon étape"; 1
"my step" ; 2
"étape" ; 3
"step" ;
Ainsi, dans mon exemple, quand je me rends compte que "step" doit être exécutée avant "my step" (numéro 2), je souhaiterais taper 2 en B4 et que B2 et B3 soient incrémentées automatiquement.
Le but "ultime" étant de finalement trier mes lignes en fonction de ce numéro...
J'ai regardé du côté de la validation des données mais sans résultat...
Des idées?
Cordialement,
Nat.
A voir également:
- Mise à jour de cellules en fonction d'une autre (même colonne)
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Déplacer une colonne excel - Guide
- Fonction si et - Guide
- Mise a jour chromecast - Accueil - Guide TV et vidéo
2 réponses
Bonjour,
"Quand je remplis cet "ordre", j'aimerais que si j'insère un numéro déjà utilisé, toutes les cellules utilisant ce numéro ou un numéro supérieur soit incrémentées de 1."
C'est ta solution.
Tu cliques sur "mystep"; tu fais insérer, tu insères "step" qui te décale le reste des cellules vers le bas ==>+1
Crdmt
"Quand je remplis cet "ordre", j'aimerais que si j'insère un numéro déjà utilisé, toutes les cellules utilisant ce numéro ou un numéro supérieur soit incrémentées de 1."
C'est ta solution.
Tu cliques sur "mystep"; tu fais insérer, tu insères "step" qui te décale le reste des cellules vers le bas ==>+1
Crdmt
Bonjour Nat
Ce que tu veux faire n'est possible qu'avec une macro qui se lance à chaque modification d'une cellule de la colonne B
ALT+F11 pour ouvrir l'éditeur VBA
Sélectionner par double-clic la feuille concernée dans l'arborescence à gauche
Copier coller la macro suivante dans la page blanche de droite
Fermer l'éditeur
Cdlmnt
Via
Ce que tu veux faire n'est possible qu'avec une macro qui se lance à chaque modification d'une cellule de la colonne B
ALT+F11 pour ouvrir l'éditeur VBA
Sélectionner par double-clic la feuille concernée dans l'arborescence à gauche
Copier coller la macro suivante dans la page blanche de droite
Private Sub Worksheet_Change(ByVal Target As Range)
' Si hors de la colonne 2 ou si plusieurs cellules sélectionnées alors sortie
If Target.Column <> 2 Or Target.Count > 1 Then Exit Sub
'sinon boucle depuis la ligne 1 jusqu'à celle précédant la nouvelle entrée
For n = 1 To Target.Row - 1
' si valeur > ou = on l'incrémente de 1
If Range("B" & n) >= Target.Value Then Range("B" & n) = Range("B" & n) + 1
Next
End Sub
Fermer l'éditeur
Cdlmnt
Via
Ça répond tout de même!
Merci :)