[Excel] Condition sur liste variable
Jodko
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je voudrais transformer une liste qui se présente sous la forme suivante :
Tache1
Ressource1
Ressource2
Tache2
Ressource1
Ressource3
Tache3
Ressource1
Ressource2
Ressource4
[...]
Pour la transformer de manière à décaler les ressources sur la meme ligne mais dans la colonne d'à coté.
Bien évidemment, le nombre de ressource est aléatoire.
Pour le moment, j'ai fait une boucle If activecell.value = "Ressource1" Or Activecell.Value = "Ressource2" etc.
Le problème, c'est que je dois modifier la macro à chaque fois qu'une nouvelle ressource apparait, et qu'en plus, la liste est longue comme un jour sans pain.
Je voulais savoir s'il était possible de mettre une condition du type If Activecell.value "appartient" à un tableau.
Merci de votre aide.
Jodko.
Je voudrais transformer une liste qui se présente sous la forme suivante :
Tache1
Ressource1
Ressource2
Tache2
Ressource1
Ressource3
Tache3
Ressource1
Ressource2
Ressource4
[...]
Pour la transformer de manière à décaler les ressources sur la meme ligne mais dans la colonne d'à coté.
Bien évidemment, le nombre de ressource est aléatoire.
Pour le moment, j'ai fait une boucle If activecell.value = "Ressource1" Or Activecell.Value = "Ressource2" etc.
Le problème, c'est que je dois modifier la macro à chaque fois qu'une nouvelle ressource apparait, et qu'en plus, la liste est longue comme un jour sans pain.
Je voulais savoir s'il était possible de mettre une condition du type If Activecell.value "appartient" à un tableau.
Merci de votre aide.
Jodko.
A voir également:
- [Excel] Condition sur liste variable
- Liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Excel liste déroulante en cascade - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
5 réponses
SAlut,
Dans un cas comme celui-ci je ferais une boucle comme ceci :
If Left(ActiveCell,5) = Resso Then
Dans un cas comme celui-ci je ferais une boucle comme ceci :
If Left(ActiveCell,5) = Resso Then
En fait, j'ai mis "RessourceX" pour faire simple et générique, mais les codes ressources sont des accronymes tout ce qu'il y a de plus barbares...
Je ne peux donc pas faire ce que tu proposes.
Jodko.
Je ne peux donc pas faire ce que tu proposes.
Jodko.
J'ai "bricolé" ce code (à adapter):
Sheets("Feuil1").Range("A1").Select 'te place sur la première cellule du fichier à "trier"
Do While ActiveCell <> ""
With Sheets("Feuil2").Range("A1:A3") ' à remplacer par le tableau récapitulatif de tes "ressources"
For i = 1 To 3 'si tu as 3 ressources dans ton tableau
If ActiveCell = .Cells(i, 1) Then
ActiveCell.Offset(0, 1) = ActiveCell
ActiveCell = ""
End If
Next i
End With
ActiveCell.Offset(1, 0).Select
Loop
Sheets("Feuil1").Range("A1").Select 'te place sur la première cellule du fichier à "trier"
Do While ActiveCell <> ""
With Sheets("Feuil2").Range("A1:A3") ' à remplacer par le tableau récapitulatif de tes "ressources"
For i = 1 To 3 'si tu as 3 ressources dans ton tableau
If ActiveCell = .Cells(i, 1) Then
ActiveCell.Offset(0, 1) = ActiveCell
ActiveCell = ""
End If
Next i
End With
ActiveCell.Offset(1, 0).Select
Loop
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu dis que :
Je voulais savoir s'il était possible de mettre une condition du type If Activecell.value "appartient" à un tableau.
donc tes valeurs "ressources" sont toutes dans un tableau?
Si oui, il faudrait passer par recherchev du style
If activeCell = RECHERCHEV(ActiveCell,tableau,1,FALSE) Then ' la syntaxe n'est pas correcte mais l'idée est là... si la cellule active est égale à sa propre recherchev donc appartient bien au tableau..... A creuser.
Je voulais savoir s'il était possible de mettre une condition du type If Activecell.value "appartient" à un tableau.
donc tes valeurs "ressources" sont toutes dans un tableau?
Si oui, il faudrait passer par recherchev du style
If activeCell = RECHERCHEV(ActiveCell,tableau,1,FALSE) Then ' la syntaxe n'est pas correcte mais l'idée est là... si la cellule active est égale à sa propre recherchev donc appartient bien au tableau..... A creuser.