N'inscrire que la fin d'une phrase
Bonsoir tout le monde.
Je débute en VBA et j'aimerai, dans une même cellule, inscrire les derniers caractères de ce qu'il y a d'inscrit. Je ne sais pas si cela est possible et je galère pas mal. Je me retourne donc vers vous pour m'aider.
Je vous place un screen de mon fichier. Pour des raisons de confidentialités (ce fichier appartenant à mon employeur), je ne peux malheureusement pas vous le partager.
Mon souhait:
J'aimerais que la colonne "L" (Butée Plainte) n'affiche que les 23 derniers caractères. Pour la cellule L7 par exemple (12-NOV-2022 23:59) et ainsi de suite jusqu'à la dernière ligne. Idéalement, une suppression des parenthèses s'il y en a serait appréciable mais pas obligatoire.
Cette macro sera assignée à un bouton dédié permettant de modifier les données affichées dans la colonne "L" après une extraction.
Je vous place le début de mon code et compte sur vous pour m'aider à le compléter.
Merci par avance.
Sub DUE_Date()
Dim Ord As Object
Dim Rmax As Long
Dim n As Long
Set Ord = ThisWorkbook.Sheets("Ordered")
With Ord
.Activate
Rmax = .Cells(Rows.Count, 7).End(xlUp).Row
For n = 7 To Rmax
Cells(n, 7).Select
If Cells(n, 12) <> "" Then
Cells(n, 12) = Right(Cells(n, 12), 23) ' ici ça me renvoie une erreur de compilation projet ou bibliothèque introuvable
End If
Next n
End With
ActiveWindow.ScrollRow = 6 'Scroll le tableau pour remonter à la 1ère ligne visible
End SubBonsoir Eluriand,
En dév. soit vous définissez une variable objet et vous vous en servez,
soit vous travaillez avec l'objet conteneur "With", mais pas les 2 c'est inutile
Pour moi, il manquait les points devant Cells() qui fait référence au conteneur
Sub DUE_Date()
Dim Rmax As Long
Dim n As Long
With ThisWorkbook.Sheets("Ordered")
'.Activate = Inutile
Rmax = .Cells(Rows.Count, 7).End(xlUp).Row
For n = 7 To Rmax
'Cells(n, 7).Select Inutile
If .Cells(n, 12) <> "" Then
.Cells(n, 12).Value = Right(.Cells(n, 12), 23) ' ici ça me renvoie une erreur de compilation projet ou bibliothèque introuvable
End If
Next n
End With
End SubA+
Merci Bruno pour ta réponse rapide.
Malheureusement, j'ai toujours le même message d'erreur avec le "right" de surligné.
Après une recherche plus poussée sur le net, il semblerai que je n'ai pas les mêmes bibliothèques qu'au boulot. Du coup je testerai demain ce que ça donne.
Réponse demain soir.
Salut,
Plusieurs causes peuvent être à l'origine de cela
- Faire une compilation du projet et supprimer toutes les erreurs.
- Vérifier qu'il n'y ai pas de références manquantes. Dans VBE faires Outils/Références et vérifier que toutes les références ont été chargées
Si tout est bon sur l'arrêt consulter la valeur des variables.
Bonsoir.
Tout marche bien, c'était bien un problème de bibliothèque non présente sur mon ordi à la maison.
J'ai simplifié le code comme tu as expliqué Bruno. J'essaierai de garder tes conseils en mémoire.
Merci pour votre aide.