Excel : problème recherche donnée
Résolu/Fermé
A voir également:
- Excel : problème recherche donnée
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
13 réponses
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
21 déc. 2007 à 19:34
21 déc. 2007 à 19:34
Bonjour,
A saisir dans la feuille ou dans un module:
Tu sélectionnes toutes les cellules en colonne A où tu veux récupérer l'information et tu lances la macro
eric
PS: et si tu veux éliminer le 1er caractère ou les 3 premiers pke tu as S1 ou Sem1 tu remplaces
rep = Cells(1, i + 1)
par
rep =Mid(Cells(1, i + 1), 2, 10)
ou Mid(Cells(1, i + 1), 4, 10)
A saisir dans la feuille ou dans un module:
Sub Neg1() Dim rep As Variant, i As Long For Each cel In Selection rep = "" For i = 1 To 42 If cel.Offset(0, i) < 0 Then rep = Cells(1, i + 1) Exit For End If Next i cel.Value = rep Next cel End Sub
Tu sélectionnes toutes les cellules en colonne A où tu veux récupérer l'information et tu lances la macro
eric
PS: et si tu veux éliminer le 1er caractère ou les 3 premiers pke tu as S1 ou Sem1 tu remplaces
rep = Cells(1, i + 1)
par
rep =Mid(Cells(1, i + 1), 2, 10)
ou Mid(Cells(1, i + 1), 4, 10)
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 413
20 déc. 2007 à 15:38
20 déc. 2007 à 15:38
Bonjour
J'attend avec interet que l'on vous propose mieux, mais pour ma part et pour l'instant,je ne vois que la solution ci dessous, un peu laborieuse, mais qui marche
Prenez 6 colonne hors champ, mettonspour l'exemple:EA,EB,EC,ED,EF
en EA2:
=si(B2<0,$B$1;si(C2<0;$C$1;si(D2<0;$D$1;si(E2<0;$E$1;si(F2<0;$F$1;si(G2<0;$G$1;si(H2<0;$H$1;EB2)))))))
en EB
SI(I2<0;$I$1;si(J2<0;$J$1;si(K2<0;$K$1;si(L2<0;$L$1;si(M2<0;$M$1;si(N2<0;$N$1;si(O2<0;$O$1;EC2)))))))
Et ainsi de suite en renvoyant à la fin de la formule à la cellule suivante, jusqu,à épuisement de votre tavbleaujusqu'à la colonne d'après sachant qu'Excel n'admet que 7 si l'un derriére l'autre dans la même formule.Il faut donc un peu de patience pour les renter et beaucoup de soins pour respecter les
"" ; $ et parenthèses, qui elles, doivent être au même nombre dans les deux sens.
Il vous suffira après:
de tirer ces formules sur la hauteur du champ
De placer dans la colonne A à chaque ligne l'égalité avec la colonne EA
A2=EA2
Bon courage, peut être vous proposera t on plus facile!Pour ma part, j'y réfléchi encore un peu et je reviens vous voir si je trouve mieux
BCRDLMNT
J'attend avec interet que l'on vous propose mieux, mais pour ma part et pour l'instant,je ne vois que la solution ci dessous, un peu laborieuse, mais qui marche
Prenez 6 colonne hors champ, mettonspour l'exemple:EA,EB,EC,ED,EF
en EA2:
=si(B2<0,$B$1;si(C2<0;$C$1;si(D2<0;$D$1;si(E2<0;$E$1;si(F2<0;$F$1;si(G2<0;$G$1;si(H2<0;$H$1;EB2)))))))
en EB
SI(I2<0;$I$1;si(J2<0;$J$1;si(K2<0;$K$1;si(L2<0;$L$1;si(M2<0;$M$1;si(N2<0;$N$1;si(O2<0;$O$1;EC2)))))))
Et ainsi de suite en renvoyant à la fin de la formule à la cellule suivante, jusqu,à épuisement de votre tavbleaujusqu'à la colonne d'après sachant qu'Excel n'admet que 7 si l'un derriére l'autre dans la même formule.Il faut donc un peu de patience pour les renter et beaucoup de soins pour respecter les
"" ; $ et parenthèses, qui elles, doivent être au même nombre dans les deux sens.
Il vous suffira après:
de tirer ces formules sur la hauteur du champ
De placer dans la colonne A à chaque ligne l'égalité avec la colonne EA
A2=EA2
Bon courage, peut être vous proposera t on plus facile!Pour ma part, j'y réfléchi encore un peu et je reviens vous voir si je trouve mieux
BCRDLMNT
Merci pour l'idée mais je pense qu'il y a beaucoup plus simple. Maintenant reste à savoir quoi et comment...
Je pense qu'il faudrait passer par une macro plutot que par une formule. Mais comme je suis débutant je ne maitrise pas du tout le langage.
Alors merci pour toute info de ce coté la
Je pense qu'il faudrait passer par une macro plutot que par une formule. Mais comme je suis débutant je ne maitrise pas du tout le langage.
Alors merci pour toute info de ce coté la
Bjr
Peut tu donner un exemple de ce qui va être par exemple dans la colonne A
Car je pense qu'il faut effectivement une macro
Peut tu donner un exemple de ce qui va être par exemple dans la colonne A
Car je pense qu'il faut effectivement une macro
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors il s'agit d'analyser rapidement une décroissance des stocks.
Donc si on prend le stock d'un produit, il décroit jusqu'à devenir inférieur à zéro. Dans le haut du tableau, il y a les semaines de l'année.
Le but est de récupérer dans la colonne A la numéro de la semaine ou le produit est inférieur à zéro. Cette étape doit ce répéter pour chaque ligne sachant que le nombre de produit évolue
Voila, j'espère que ces infos permettront de faire une macro.
Merci d'avance
Donc si on prend le stock d'un produit, il décroit jusqu'à devenir inférieur à zéro. Dans le haut du tableau, il y a les semaines de l'année.
Le but est de récupérer dans la colonne A la numéro de la semaine ou le produit est inférieur à zéro. Cette étape doit ce répéter pour chaque ligne sachant que le nombre de produit évolue
Voila, j'espère que ces infos permettront de faire une macro.
Merci d'avance
Voici je pense la macro qu'il te faut
Sub valider()
'
' Macro1 Macro
' Macro enregistrée le 20/12/2007 par ROBERT René http://utilsfr.new.fr
Application.ScreenUpdating = False
Columns("A:A") = ""
Range("b2:aq5000").Select
For Each c In Selection
c.Select
If c < 0 Then
c = ActiveCell.Address
c = Left(c, 2)
semaine = Range("" & c & "1").Value
r = ActiveCell.Row
Range("a" & r & "").Value = semaine
End If
Next
Application.ScreenUpdating = True
Range("a1").Select
End Sub
Sub valider()
'
' Macro1 Macro
' Macro enregistrée le 20/12/2007 par ROBERT René http://utilsfr.new.fr
Application.ScreenUpdating = False
Columns("A:A") = ""
Range("b2:aq5000").Select
For Each c In Selection
c.Select
If c < 0 Then
c = ActiveCell.Address
c = Left(c, 2)
semaine = Range("" & c & "1").Value
r = ActiveCell.Row
Range("a" & r & "").Value = semaine
End If
Next
Application.ScreenUpdating = True
Range("a1").Select
End Sub
Merci néné pour ce code, mais il y a un problème.
Il me donne la valeur de la dernière colonne alors que moi j'aimerais avoir la première semaine ou le stock est inférieur à zéro.
Si tu sais comment modifier ton code pour obtenir ce résultat?
Merci d'avance
Il me donne la valeur de la dernière colonne alors que moi j'aimerais avoir la première semaine ou le stock est inférieur à zéro.
Si tu sais comment modifier ton code pour obtenir ce résultat?
Merci d'avance
Sub valider()
'
' Macro1 Macro
' Macro enregistrée le 20/12/2007 par ROBERT René http://utilsfr.new.fr
Application.ScreenUpdating = False
Columns("A:A") = ""
Range("b2:aq5000").Select
For Each c In Selection
c.Select
If c < 0 Then
c = ActiveCell.Address
c = Left(c, 2)
semaine = Range("" & c & "1").Value
r = ActiveCell.Row
Range("a" & r & "").Value = semaine
End If
exit sub
Next
Application.ScreenUpdating = True
Range("a1").Select
End Sub
'
' Macro1 Macro
' Macro enregistrée le 20/12/2007 par ROBERT René http://utilsfr.new.fr
Application.ScreenUpdating = False
Columns("A:A") = ""
Range("b2:aq5000").Select
For Each c In Selection
c.Select
If c < 0 Then
c = ActiveCell.Address
c = Left(c, 2)
semaine = Range("" & c & "1").Value
r = ActiveCell.Row
Range("a" & r & "").Value = semaine
End If
exit sub
Next
Application.ScreenUpdating = True
Range("a1").Select
End Sub
Bonjour,
annule la précédente
Sub valider()
'
' Macro1 Macro
' Macro enregistrée le 20/12/2007 par ROBERT René http://utilsfr.new.fr
Application.ScreenUpdating = False
Columns("A:A") = ""
For l = 2 To 5000
Range("b" & l & ":aq" & l & "").Select
For Each c In Selection
c.Select
If c < 0 Then
c = ActiveCell.Address
c = Left(c, 2)
semaine = Range("" & c & "1").Value
r = ActiveCell.Row
Range("a" & r & "").Value = semaine
Exit For
End If
Next c
Next l
Application.ScreenUpdating = True
Range("a1").Select
End Sub
annule la précédente
Sub valider()
'
' Macro1 Macro
' Macro enregistrée le 20/12/2007 par ROBERT René http://utilsfr.new.fr
Application.ScreenUpdating = False
Columns("A:A") = ""
For l = 2 To 5000
Range("b" & l & ":aq" & l & "").Select
For Each c In Selection
c.Select
If c < 0 Then
c = ActiveCell.Address
c = Left(c, 2)
semaine = Range("" & c & "1").Value
r = ActiveCell.Row
Range("a" & r & "").Value = semaine
Exit For
End If
Next c
Next l
Application.ScreenUpdating = True
Range("a1").Select
End Sub
Bonjour,
j'ai une license de OFFICE 2003 pro et lorsque je l'installe sur mon vista pro il l'installe mais lors du demarage du logiciel word ou excel il me di que la version n'est pas compatible et le plus drole c que le logiciel s'ouvre s'y j'appuie sur ok.
Quelqu'un a t'il une solution
j'ai une license de OFFICE 2003 pro et lorsque je l'installe sur mon vista pro il l'installe mais lors du demarage du logiciel word ou excel il me di que la version n'est pas compatible et le plus drole c que le logiciel s'ouvre s'y j'appuie sur ok.
Quelqu'un a t'il une solution
Merci néné pour ce code.
Mais j'ai un autre problème, je pensais pouvoir l'adapter à mon fichier mais je ne peux pas.
Voici mon problème
Ma décroissance des stocks est donc un fichier Excel mais avec une partie sur la gauche de mon tableau ou sont inscrite les caractéristique des produits. Jusque là pas de problème pour adapter la macro. Cependant en-dessous de toutes mes ligne de caractéristiques il y a des lignes de commentaires. Lorsque je lance la macro, la première chose qu'il fait est de mettre à zéro toute la colonne et ensuite il effectue la recher du nombre négatif sur les 5000 lignes. Alors que moi ce que je souhaite, c'est qu'il identifie si il y a ou pas de décroissance des stocks et ensuite il mette les cellules de la colonne A concerné à zéro et pour finir qu'il recherche la date de rupture de tout les produit présent sur cette feuille.
J'espère que mon problème est un peu plus clair.
Merci d'avance de votre aide
Mais j'ai un autre problème, je pensais pouvoir l'adapter à mon fichier mais je ne peux pas.
Voici mon problème
Ma décroissance des stocks est donc un fichier Excel mais avec une partie sur la gauche de mon tableau ou sont inscrite les caractéristique des produits. Jusque là pas de problème pour adapter la macro. Cependant en-dessous de toutes mes ligne de caractéristiques il y a des lignes de commentaires. Lorsque je lance la macro, la première chose qu'il fait est de mettre à zéro toute la colonne et ensuite il effectue la recher du nombre négatif sur les 5000 lignes. Alors que moi ce que je souhaite, c'est qu'il identifie si il y a ou pas de décroissance des stocks et ensuite il mette les cellules de la colonne A concerné à zéro et pour finir qu'il recherche la date de rupture de tout les produit présent sur cette feuille.
J'espère que mon problème est un peu plus clair.
Merci d'avance de votre aide