Forum Discussion
Re: macro VBA excel nommer une cellule
Problème 1 : vous déchargez le userform avant d'appeler RecupSauv, donc la valeur de la listbox n'existe plus. Solution:
Private Sub recupération_Click()
Call recupsauv
Unload Me
End Sub
Problème 2 : afficher correctement la date. Solution:
Dim d As String
If Choixsauv.Listsauve.ListIndex > -1 Then
d = Format(Choixsauv.Listsauve, "dd/mm/yyyy")
End If
s = InputBox("entrez la date désirée, sous la forme 'jj/mm'.", _
"Recherche de journée sauvegardée", d)- bernard_daniel_1950Iron Contributor
Bonsoir,
j'ai un souci avec ce que vous m'avez envoyé, qui, pourtant, marchait très bien!
Voici le message:Je joins le fichier. le problème se situe dans la macro recupsauv (surligné).
Merci encore!
Le "listbox" sur Choixsauv est nommé ListBox1, pas listsauve
Sub recupsauv() Application.ScreenUpdating = False 'If MsgBox("Ceci va récupérer une journée enregistrée.", vbOKCancel, "Récupération de journée") = vbCancel Then 'Exit Sub 'End If Application.Goto Reference:="grille2" Selection.Copy Application.Goto Reference:="date" ActiveSheet.Paste Application.CutCopyMode = False Dim d As String If Choixsauv.ListBox1.ListIndex > -1 Then d = Format(Choixsauv.ListBox1, "dd/mm/yyyy") End If Application.Goto Reference:="sauvegarde" Do While ActiveCell <> d ActiveCell.Offset(1, 0).Activate If ActiveCell.Value = 99999 Then MsgBox "Cete date n'existe pas!", , "Echec" Application.ScreenUpdating = True Range("a1").Select Exit Sub End If Loop ActiveWorkbook.Names.Add Name:="debrec", RefersTo:=ActiveCell ActiveCell.Offset(1, 0).Select Do While ActiveCell.Value = "" ActiveCell.Offset(1, 0).Select Loop ActiveCell.Offset(-1, 6).Select Range(ActiveCell, Range("debrec")).Select Selection.Copy Range("date").Select ActiveSheet.Paste Application.CutCopyMode = False MsgBox "Journée du " & d & " récupérée! vous pouvez désormais transférer les données à Decalog." End Sub- bernard_daniel_1950Iron ContributorEncore merci; étourderie de ma part!
Question que je vous pose à tout hasard: est il possible à une macro Excel d'agir sur un programme autre que Microsoft?
Je copie une donnée dans Excel et voudrais la copier dans un programme qui n'a rien à voir.
Je fais actuellement clic droit et coller, mais si je pouvais automatiser...
- bernard_daniel_1950Iron ContributorBonjour,
Je rencontre un phénomène étrange (du moins pour moi!):
si je rentre dans des userforms (boutons...) des cellules liées contenant des formules, celle ci sont parfois "écrasée" lors de l'utilisation des uforms (la formule se transforme en valeur!).
Pour être clair, si j'ai: =2=2 en formule, ça se transforme en : 4!
Est-ce "normal", ou y a t-il quelque chose à faire?
Ou alors le problème vient d'ailleurs?C'est normal. Pour éviter cela, ne liez pas les zones de texte aux cellules, mais utilisez VBA pour transférer les valeurs entre les zones de texte et les cellules.
- bernard_daniel_1950Iron ContributorEuh... Pourriez vous être plus explicite?
Un exemple?
- bernard_daniel_1950Iron ContributorEncore merci...
J'ai plusieurs userforms où l'ordre "unload" précède le "call", sans problème?
J'ai shunté la phase "inputbox... " pour entrer directement d dans la macro!