Aller sur une cellule précise d'une autre feuille en fonction d'un code
Bonjour,
J'ai créée un userform auquel j’écris un code qui me retourne des informations à partir d'un tableau dans la feuille "SUIVI".
With Me
.TxtDossier = CDate(WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 2, False))
.TxtCA = WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 3, False)
.TxtAdresse = WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 4, False)
.TxtCommune = WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 5, False)
.TxtCentre = WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 6, False)
.TxtSite = WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 7, False)
.TxtPCE = WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 8, False)
.TxtEtat = WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 15, False)
.TxtCloture = WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 18, False)
.TxtCause = WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 16, False)
.TxtFoliotage = CDate(WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 10, False))
.TxtMgpeFournisseur = WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 14, False)
.TxtReprogrammation = WorksheetFunction.VLookup(Me.TxtNoDossier, Sheets("SUIVI").Range("A2:X1048576"), 17, False)
End With
End Sub
J'ai rajouté un bouton modifié qui modifie les informations directement à partir de l'userform de certaines informations.
Dim q As String
Dim i As Integer, fin&
i = 2
fin = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
Do While TxtNoDossier.Value <> Feuil1.Cells(i, 1)
i = i + 1
If i > fin Then MsgBox " Le numéro spécifié n'existe pas "
Loop
q = MsgBox("Confirmer modification?", vbCritical + vbYesNo)
If q = vbYes Then
Feuil1.Cells(i, 1) = TxtNoDossier
Feuil1.Cells(i, 1).Offset(0, 2) = TxtCA
Feuil1.Cells(i, 1).Offset(0, 14) = TxtEtat
Feuil1.Cells(i, 1).Offset(0, 17) = TxtCloture
Feuil1.Cells(i, 1).Offset(0, 15) = TxtCause
Feuil1.Cells(i, 1).Offset(0, 9) = TxtFoliotage
Feuil1.Cells(i, 1).Offset(0, 13) = TxtMgpeFournisseur
Feuil1.Cells(i, 1).Offset(0, 16) = TxtReprogrammation
Unload Me
MsgBox "Les données ont été sauvegardées"
End If
PS: je voulais mettre aussi la modification des dates mais je ne peux pas car aussi sa peut être une date ou bien "??" et donc je voulais savoir si c’était possible car même pour la récupération je n'arrive pas car sa me sort des chiffre et non la date sinon sa affiche un problème si j'utilise un CDate lorsque c'est "??"
Et j'ai créée un bouton => aller sur la ligne(il va sur le tableau et sélectionne la cellule ou contient le code). Voilà mon soucie je n'arrive pas à aller sur le tableau et sélectionner la cellule. Voici ce que j'ai fait et si vous trouvez, pouvez m'expliquer mon erreur merci
Private Sub CmdBt_Ligne_Click()
Sheets("SUIVI").Visible = True
Worksheets("SUIVI").Activate
With Me
TxtNoDossier.Value
If TxtNoDossier.Value Then
Range("TxtNoDossier.Value").Select
End If
End Sub
Désolé je ne peux pas joindre le fichier; il est confidentiel.
Hello,
Pour le problème de date, tu as juste à mettre une condition avant du type
If date <> "??" Then
date = CDate(date)
End ifMerci je vais l'essayer et vous avez la solution pour aller automatiquement à la ligne?
Je n'ai pas compris ce que vous cherchez à faire. Vous voulez sélectionner une ligne entière ? Ou juste une cellule ?
Juste une cellule qui contient le code écris dans la case TxtNoDossier. Elle va ramener sur la feuille "SUIVI et sur la colonne A s’arrêter sur le code écris pareille.
Pour la condition que tu m'a donné je dois la mettre ou précisément?
Cellule ou case ? Je ne comprends toujours pas...
Pour la date, c'est au moment ou vous souhaitez l'insérer, mais je n'arrive pas à comprendre tout ce que vous voulez faire, le code me parait compliqué pour pas grand chose au final...
Les codes que j'ai mis au-dessus proviennent de différent bouton d'un userform. J'ai une pages Accueil ou il y a un bouton recherche. En gros à partir de mon userform, je vais taper un code qui provient d'un tableau(colonne A) afin de m'afficher dans l'userform les informations (recherchev) qui proviennent du tableau dans la feuille "SUIVI". Et dans l'Userform j'ai un bouton qui est nommé "=>aller surligne" et ce bouton je veux que lorsque j'appuie dessus qu'il me raméne sur la feuille "SUIVI" et selectionne la cellule qui contient le code que j'ai tapé sur l'userform.
C'est un peu plus claire?