Suivi des modifications et effacement de données
Bonjour!
J'ai une autre question pour vous!
J'ai une feuille maîtresse qui s'appel "Coordonnées" dans laquelle j'entre toutes mes données. Ensuite par macro activée par un bouton, je tri la colonne 'C' par type de sondages, je copie dans les 4 autres feuilles selon leur type et je tri la feuille en ordre croissant.
Voici ce que je voudrais:
Est-ce possible de modifier un numéro de sondage dans ma feuille "Coordonnées" (avec une macro) et que la modification s'effectue dans la feuille ou ce numéro ce retrouve? Le type de sondage ne peux changer, seulement le numéro (ex: C35001-004-12 à C35001A-004-12 ou bien C35001-006-12).
Et est-ce possible que lorsque je supprime un sondage dans la la feuille "Coordonnées" (avec une macro), il supprime aussi la sondage dans la feuille ou il se retrouve?
Après avoir fait des recherches, je crois comprendre que je dois faire une macro en boucle, mais je ne comprend pas très bien les macros encore!
Merci!
Voici mon fichier:
Bonjour,
Je vous envoie une partie du code que j'ai pu réaliser jusqu'ici!
Il marche pour une partie de ce que je veux faire, il m'envoie la valeur "VRAI" dans la cellule ou il a trouvé la même valeur dans mon autre feuille. Je l'ai fiat pour une feuille, mais la recherche de la valeur devrait s'effectuer sur toutes les feuilles (4).
Voici:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Value As String
Value = ActiveCell
If Not Intersect(Target, Range("c5:c" & [a1048576].End(xlUp).Row)) Is Nothing Then
'Quand je double clic dans la colonne C, il m'affiche le message suivant
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
'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é
If MsgBox("N'oubliez pas de changer le numéro dans la colonne ABRÉVIATION!", vbExclamation, "IMPORTANT") = vbOK Then
End If
Else
Range("a5").Select
End If
End If
End SubMerci d'avance pour votre aide!
Bonjour à tous!
Voici où j'en suis rendu avec mon code!
La macro détecte que je veux modifier ma cellule lors d'un double-clic sur la cellule, elle vérifie si il y a une valeur identique dans la colonne A de ma feuille'CPTU" et renvoie l'argument "VRAI" dans la cellule ou la même valeur à été trouvée.
Ensuite, elle me demande la nouvelle valeur et l'insère dans la cellule de la feuille "Coordonnées" et alors elle copie et colle la nouvelle valeur dans la cellule active de la feuille "CPTU".
Ce que je veux, c'est qu'il copie ou remplace la cellule avec l'argument "VRAI" et non pas dans la cellule active de cette feuille. J'ai essayer plusieurs chose comme de définir l'argument VRAI comme activecell, mais ça ne marche pas.
J'ai besoin d'aide sur ce coup!!
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 SubMerci beaucoup!!