Trouver la valeur X d'une colonne dans une autre colonne
Résolu
bassmart
Messages postés
281
Date d'inscription
Statut
Membre
Dernière intervention
-
bassmart Messages postés 281 Date d'inscription Statut Membre Dernière intervention -
bassmart Messages postés 281 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Trouver la valeur X d'une colonne dans une autre colonne
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Colonne word - Guide
- Formule somme excel colonne - Guide
- Site x - Guide
3 réponses
Bonjour,
Jettes un oeil à ceci :
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
Jettes un oeil à ceci :
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
Bonjour!
Voici ou j'en suis rendu dans mon code!
J'ai réussi à coller la valeur modifié de ma feuille "Coordonnées" dans la feuille "CPTU" mais pas dans la cellule ou l'argument VRAI est renvoyé. Il copie dans la cellule active de la feuille donc la cellule A7, je ne réussi pas à trouver la façon de lui dire de remplacer l'argument VRAI par la nouvelle valeur de ma feuille "Coordonnées".
Et voilà! J'espère que quelqu'un peux m'aider sur ce coup!!!
Merci!!
EDIT : Ajout du langage dans les balises de code
Voici ou j'en suis rendu dans mon code!
J'ai réussi à coller la valeur modifié de ma feuille "Coordonnées" dans la feuille "CPTU" mais pas dans la cellule ou l'argument VRAI est renvoyé. Il copie dans la cellule active de la feuille donc la cellule A7, je ne réussi pas à trouver la façon de lui dire de remplacer l'argument VRAI par la nouvelle valeur de ma feuille "Coordonnées".
Private DLig As Long Private PL As Range Public var As Variant Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean) Dim Value As String Dim NewVal As String Dim VRAI As Boolean Value = ActiveCell ' 'Pose la question dans la MsgBox lorsque l'on double-clic dans la colonne C ' If Not Intersect(target, Range("c5:c" & [a1048576].End(xlUp).Row)) Is Nothing Then If MsgBox("Voulez-vous mofifier cette cellule?", _ vbYesNo + vbQuestion, "MODIFER") = vbYes Then 'Ici je veux qu'il compare la colonne C de ma feuille Coordonnées avec la colonne A de mes feuilles _ CPTU et Forage, ainsi que sur la colonne B de mes feuilles Piézomètres et Inclinomètres ' Sheets("CPTU").Columns(1).Find(Value, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlByColumns, Searchdirection:=xlNext) = True NewVal = UCase(Application.InputBox("Nouveau numéro?", "MODIFICATION DE NUMÉRO", Type:=2)) ActiveCell = NewVal If var <> target Then var = target.Value MsgBox "VALEUR CHANGÉE!", vbInformation End If Selection.Copy 'si je modifie ma cellule active sur ma feuille Coordonnées, il modifier ou colle la nouvelle valeur _ à dans la bonne feuille ou la valeur est stocké Sheets("CPTU").Select ActiveCell.Select ActiveCell.PasteSpecial xlPasteValues Sheets("Coordonnées").Select Application.CutCopyMode = False MsgBox "N'oubliez pas de changer le numéro dans la colonne ABRÉVIATION!", vbExclamation, "IMPORTANT" Else Range("B5").Select End If End If Range("B5").Select End Sub
Et voilà! J'espère que quelqu'un peux m'aider sur ce coup!!!
Merci!!
EDIT : Ajout du langage dans les balises de code
Relis les infos contenues dans ce lien :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Si tu utilises les balises de code sans préciser le langage tu obtiens ça :
Alors.. que si tu y précise le langage (ici .. basic) .. tu obtiens ceci :
.... c'est plus lisible non ?
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Si tu utilises les balises de code sans préciser le langage tu obtiens ça :
Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
Dim Value As String
Dim NewVal As String
Dim VRAI As Boolean
Value = ActiveCell
Alors.. que si tu y précise le langage (ici .. basic) .. tu obtiens ceci :
Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean) Dim Value As String Dim NewVal As String Dim VRAI As Boolean Value = ActiveCell
.... c'est plus lisible non ?
Bonjours à tous,
Voici le code final qui remplace la valeur dans mes autres feuilles lorsqu'elle est modifié dans ma feuille "Coordonnées".
Voici le code final qui remplace la valeur dans mes autres feuilles lorsqu'elle est modifié dans ma feuille "Coordonnées".
rivate PL As Range Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim nvalue As String Dim NewVal As Variant Dim f As Worksheet Dim valueRange As Range Dim Cpt As Integer Application.ScreenUpdating = False nvalue = ActiveCell.Value If Not Intersect(Target, Range("c5:c" & [a1048576].End(xlUp).Row + 1)) Is Nothing Then If MsgBox("Voulez-vous mofifier le numéro de ce sondage?", _ vbYesNo + vbQuestion, "MODIFER") = vbYes Then NewVal = UCase(InputBox("Nouveau numéro de sondage?", "MODIFICATION DE NUMÉRO")) If NewVal = "" Then ActiveCell.Offset(-1, 0).Select Exit Sub Else ActiveCell = NewVal End If If InStr(1, nvalue, "C") = 1 Or InStr(1, nvalue, "M") = 1 Then Set valueRange = Sheets("CPTU").Columns(1) ElseIf InStr(1, nvalue, "F") = 1 Then Set valueRange = Sheets("FORAGE").Columns(1) ElseIf InStr(1, nvalue, "Z") = 1 Or InStr(1, nvalue, "FZ") = 1 Then Set valueRange = Sheets("Piézomètres").Columns(2) ElseIf InStr(1, nvalue, "I") = 1 Then Set valueRange = Sheets("Inclinomètres").Columns(2) Else Set valueRange = Nothing MsgBox "La valeur n'a pas été trouvé dans les autres feuilles! Mettre à jours les feuillets sur la page d'accueil!", vbCritical End If If Not valueRange Is Nothing Then valueRange.Replace nvalue, NewVal, lookat:=xlWhole, searchorder:=xlByColumns End If If NewVal <> nvalue Then MsgBox "N'oubliez pas de changer le numéro dans la colonne ABRÉVIATION!", vbExclamation, "IMPORTANT" ActiveCell.Offset(-1, 0).Select End If Else ActiveCell.Offset(-1, 0).Select End If End If Application.ScreenUpdating = True Application.EnableEvents = True End Sub
Dans mon code, j'ai déjà utiliser la fonction Find qui fonctionne très bien. elle me renvoie la valeur VRAI dans la cellule ou il a trouvé la valeur identique à celle recherché.
Mais je ne suis pas capable pour le moment de modifié mon code pour qu'il opère la même modification de ma feuille Coordonnées et à ma feuille CPTU!