Code VBA pour rechercher avec excel
Résolu/Fermé
A voir également:
- Code VBA pour rechercher avec excel
- Liste déroulante excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Code asci - Guide
- Si et excel - Guide
- Code puk bloqué - Guide
2 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
13 janv. 2017 à 21:21
13 janv. 2017 à 21:21
Bonjour sekouausud,
Cette macro à mettre dans ta feuille concernée devrait le faire :
Cette macro à mettre dans ta feuille concernée devrait le faire :
Private Sub Worksheet_Change(ByVal sel As Range) If sel.CountLarge > 1 Then Exit Sub If Not Intersect(sel, [B:B]) Is Nothing Then Dim cel As Range, svt As Variant Set cel = Range("B2:B" & sel.Row - 1).Find(sel, , , xlWhole) If Not cel Is Nothing Then Cells(cel.Row, "F").Resize(1, 7).Copy Destination:=Cells(sel.Row, "F") Else svt = Application.WorksheetFunction.Max(Range("B2:B" & sel.Row - 1)) + 1 If svt <> sel.Value Then sel.Value = svt: MsgBox "Vous avez oublié " & svt End If End If End If End Sub
Bonjour,
Le code marche bien, j'ai même augmenté les colonnes mais :
- ( sel.Value = svt: MsgBox "Vous avez oublié " & svt) que veut dire ce message ?
- Aussi,je ne sais pas si c'est impératif d'ouvrir une nouvelle discussion pour gérer mon nouveau problème : dans la feuille4 actuelle j'ai 2 colonnes AF ; AG, et dans une autre feuille2, 2 cellules fixes C4 (valeur=500) et C5(valeur=600). Maintenant, je voudrais que si dans la cellule en AF9 la valeur est égale à celle de C4, alors, en AG9 j'obtiens "-" en lieu et place de "600" et inversement.
En fait, AF9 et AG9 ne doivent pas contenir en même temps des chiffres car si l'une AF9 ="500", "AG" doit forcément être égale à "-" et inversément. Moi j'hésite à créer dans la feuille2 une autre cellule C6 = "-" pour l'utiliser dans une formule de test logique. Qu'en pensez-vous ?
Merci beaucoup
Le code marche bien, j'ai même augmenté les colonnes mais :
- ( sel.Value = svt: MsgBox "Vous avez oublié " & svt) que veut dire ce message ?
- Aussi,je ne sais pas si c'est impératif d'ouvrir une nouvelle discussion pour gérer mon nouveau problème : dans la feuille4 actuelle j'ai 2 colonnes AF ; AG, et dans une autre feuille2, 2 cellules fixes C4 (valeur=500) et C5(valeur=600). Maintenant, je voudrais que si dans la cellule en AF9 la valeur est égale à celle de C4, alors, en AG9 j'obtiens "-" en lieu et place de "600" et inversement.
En fait, AF9 et AG9 ne doivent pas contenir en même temps des chiffres car si l'une AF9 ="500", "AG" doit forcément être égale à "-" et inversément. Moi j'hésite à créer dans la feuille2 une autre cellule C6 = "-" pour l'utiliser dans une formule de test logique. Qu'en pensez-vous ?
Merci beaucoup
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
14 janv. 2017 à 17:30
14 janv. 2017 à 17:30
Bonjour,
que veut dire ce message ?
Tu as dit " après le "1" c'est forcément le "2" que je peux suivre donc, "
donc si tu saisis 3, je te signale que tu as loupé le 2 !
Dans ton autre raisonnement, tu voudrais apparemment lier les 2 cellules entre elles, ce qui est possible mais en mettant une formule tu ne peux plus saisir car c'est valeur ou formule pas les 2.
que veut dire ce message ?
Tu as dit " après le "1" c'est forcément le "2" que je peux suivre donc, "
donc si tu saisis 3, je te signale que tu as loupé le 2 !
Dans ton autre raisonnement, tu voudrais apparemment lier les 2 cellules entre elles, ce qui est possible mais en mettant une formule tu ne peux plus saisir car c'est valeur ou formule pas les 2.
sekouausud
>
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
17 janv. 2017 à 10:55
17 janv. 2017 à 10:55
Bonjour,
J'avais voyagé, d'où le retard de ma réaction.
A / Vous avez raison au sujet de votre interrogation, c'est moi qui me suis exprimé de façon confuse, je m'en excuse. En fait, en disant " après le "1" c'est forcément le "2" que je peux suivre donc....", la saisie de "3" dont je parle suppose que le "2" a été déjà attribué à un porteur auparavant et qu'à ce stade après le "3" aussi c'est le "4" qui doit forcément suivre.
Je rappelle que le code envoyé à ce propos marche bien.
B / Concernant les cellules de AF et AG, elles ne sont pas liées entre elles mais plutôt à 2 'autres cellules C4 et C5 d'une autre feuille mais finalement, je pense avoir trouvé mieux en reformant la feuille. Ainsi c'en AH où doit s'afficher "500" ou "600" selon des critères définis dans la feuille paramètres :C4 = critère et C5 =500 / E4 = critère et E5 = 600 puis j'ai inséré 1 colonne W pour les critères ; ce qui me donne en AH la formule suivante qui marche et les valeurs s'affichent automatiquement dès remplissage d'une cellule de en W9.
=SI(W9=Paramètres!$C$4;Paramètres!$C$5;Paramètres!$E$5).
Seulement, mon souci actuel c'est créer un code ou une formule pour afficher en AM9 la somme des valeurs de "AH9:AL" si W9 correspond à C4 et afficher la somme des valeurs de "AK:AL" si W9 correspond à E4 en d'autres termes la plage des valeurs à additionner varie en fonction du critère qui est chargé en colonne W.
Merci pour l'intérêt que vous accorder à mon problème
Cordialement
J'avais voyagé, d'où le retard de ma réaction.
A / Vous avez raison au sujet de votre interrogation, c'est moi qui me suis exprimé de façon confuse, je m'en excuse. En fait, en disant " après le "1" c'est forcément le "2" que je peux suivre donc....", la saisie de "3" dont je parle suppose que le "2" a été déjà attribué à un porteur auparavant et qu'à ce stade après le "3" aussi c'est le "4" qui doit forcément suivre.
Je rappelle que le code envoyé à ce propos marche bien.
B / Concernant les cellules de AF et AG, elles ne sont pas liées entre elles mais plutôt à 2 'autres cellules C4 et C5 d'une autre feuille mais finalement, je pense avoir trouvé mieux en reformant la feuille. Ainsi c'en AH où doit s'afficher "500" ou "600" selon des critères définis dans la feuille paramètres :C4 = critère et C5 =500 / E4 = critère et E5 = 600 puis j'ai inséré 1 colonne W pour les critères ; ce qui me donne en AH la formule suivante qui marche et les valeurs s'affichent automatiquement dès remplissage d'une cellule de en W9.
=SI(W9=Paramètres!$C$4;Paramètres!$C$5;Paramètres!$E$5).
Seulement, mon souci actuel c'est créer un code ou une formule pour afficher en AM9 la somme des valeurs de "AH9:AL" si W9 correspond à C4 et afficher la somme des valeurs de "AK:AL" si W9 correspond à E4 en d'autres termes la plage des valeurs à additionner varie en fonction du critère qui est chargé en colonne W.
Merci pour l'intérêt que vous accorder à mon problème
Cordialement
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
17 janv. 2017 à 16:46
17 janv. 2017 à 16:46
Bonjour,
Il te suffit d'utiliser la même technique :
Il te suffit d'utiliser la même technique :
=SI(W9=Paramètres!$C$4;SOMME(AH9:AL9);SOMME(AK9:AL9))
sekouausud
>
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
17 janv. 2017 à 18:16
17 janv. 2017 à 18:16
Exacte, ça marche et j'avais essayé cette formule mais il y manquait la 2e parenthèse.
merci à vous.
Cordialement
merci à vous.
Cordialement