Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

format de cell et variable

  • Initiateur de la discussion Initiateur de la discussion alexane
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

alexane

XLDnaute Occasionnel
Bonsoir à tous
Je cherche à faire une petite macro qui me permette de basculer d'un format nombre à un format date et vis versa. Ca marche bien avec activecell mais qd je cherche à remplacer par une variable ça échoue. Qqn peut m'expliquer pourquoi ?
macellule = ActiveCell.NumberFormat
If macellule <> "d/m/yyyy" Then
macellule = "d/m/yyyy"
Else: macellule = "0"
End If

alors que ça, ça marche :
If ActiveCell.NumberFormat <> "d/m/yyyy" Then
ActiveCell.NumberFormat = "d/m/yyyy"
Else: ActiveCell.NumberFormat = "0"
End If
 
Re : format de cell et variable

Bonsoir


Ok comme ceci

Code:
Sub formatd()
Dim macellule As Range
Set macellule = ActiveCell
If macellule.NumberFormat <> "d/m/yyyy" Then
macellule.NumberFormat = "d/m/yyyy"
Else: macellule.NumberFormat = "0"
End If
End Sub
 
Re : format de cell et variable

merci bcp
c'était donc un pbl de déclaration de variable

J'ai un autre souci du meme genre mais peut etre merite t il un post séparé :
les inputbox si j'ai bien compris renvoie du texte
1er question pourquoi ça ça marche :
maligne = inputbox ("n° de ligne à supprimer, svp")
rows(maligne).delete

et pas ça
maligne = inputbox ("n° de ligne à supprimer, svp")
if maligne>=1 and maligne<=65536 and Int(maligne) and IsNumeric(maligne)
rows(maligne).delete
end if


Pour résoudre le probl j'ai appliqué la fonction val à ma variable
maligne = Val( inputbox ("n° de ligne à supprimer, svp"))
mais si je saisis 2,2 (décimal par virgule) dans la boite, ça me supprime quand même la ligne 2

En 2ème solu, j'ai déclarer la variable de type Double et j'ai gérer les erreurs d'incompatibilité de type (pour quand l'utilisateur saisi du texte)
On Error Goto errtype
.....
errtype :
if err = 13 then
msgbox "saisir un nombre entier, svp"
end if
...
Y a pas plus simple ?
Merci
 
Re : format de cell et variable

Bonsoie alexane, re vbacrumble,

qd je cherche à remplacer par une variable ça échoue. Qqn peut m'expliquer pourquoi ?

La variable macellule n'est qu'un tiroir (Variant ou String) destiné à stocker les valeurs qu'on lui donne.

Quand vous écrivez macellule = ActiveCell.NumberFormat, elle prend le texte du format de la cellule active, point barre.

Si vous modifiez ensuite cette variable, il n'y a aucune raison pour que le format de la cellule soit modifié aussi...

A+
 
Re : format de cell et variable

Re



Comme cela c'est bon

Code:
Sub macro()
maligne = CLng(InputBox("n° de ligne à supprimer, svp"))
If maligne >= 1 And maligne <= 65536 And IsNumeric(maligne) Then
Rows(maligne).EntireRow.Delete
End If
End Sub
 
Re : format de cell et variable

Re



Tu as été voir dans l'aide VBA ? 🙄 (touche F1 dans VBE *)
*VBE = Visual Basic Editor -> Outils/Macros/Visual Basic Editor - > ou ALT+F11

CLng = conversion en Long
 
Re : format de cell et variable

Merci pour la claque sur les doigts..
Oui c'est vrai j'aurais pu regarder l'aide avant de poser cette question
Par contre y a une fonction dont l'aide ne parle pas c'est CDbl. Tu la connais ?
Cordialement
 
Re : format de cell et variable

Re

Tu as mal regardé, je crois 🙄

Trouvé dans l'aide de VBA (sur Excel 2000)

 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
287
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
1
Affichages
474
W
Réponses
1
Affichages
470
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…