[RÉSOLU] Est-il possible de faire InputBox?

un internaute

XLDnaute Impliqué
Bonjour le forum
Toujours le même qui vient demander des choses "farfelus"!!!
Dans le fichier joint et la macro => Sub RenommerTexteBoutonClasseur() serait-il possible de faire des ImpuntBox pour y mettre du texte ou du numérique selon le texte ou numérique que l'on veut mettre puis validation.
Sachant que:
.Characters(Start:=1, Length:=7).Font.ColorIndex = 3
.Characters(1, 7).Font.Size = 18
On ne peut pas y échaper il faut le faire à la main

Demande "farfelue" ou "gadget"
Merci d'avance pour vos éventuels retours
Bien cordialement
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

@un internaute
Un truc dans ce genre là?
(PS; ce code ne fonctionnera qu'une seule fois à cause de ton If InStr.. ;) )
VB:
Sub RenommerTexteBoutonClasseur()
Dim w As Worksheet, o As Shape, farfelu, t, a&, b&, c&
farfelu = InputBox("Saisir des choses farfelues" & Chr(13) & "(séparée par un /)", "Intitulés", "abcdef/toto123/Staple1600")
t = Split(farfelu, "/")
a = Len(t(0)): b = Len(t(1)): c = Len(t(2)) + 1
For Each w In Worksheets
 For Each o In w.Shapes
  If InStr(1, o.TextFrame.Characters.Text, "Onglets") > 0 Then
     With o.TextFrame
        .Characters.Text = ""
        .Characters.Font.ColorIndex = 0
        .Characters.Text = t(0) & Chr(10) & t(1) & Chr(10) & t(2)
        .Characters(1, a).Font.ColorIndex = 3
        .Characters(1, a).Font.Size = 18
        .Characters(a + 2, b).Font.ColorIndex = 5
        .Characters(a + 2, b).Font.Size = 16
        .Characters(a + b + 2, c).Font.ColorIndex = 3
        .Characters(a + b + 2, c).Font.Size = 16
     End With
  End If
 Next o
Next w
Erase t
End Sub
 

un internaute

XLDnaute Impliqué
Bonjour Ce lien n'existe plus et le forum
Je me suis inspiré de ton code et je t'en remercie
Mais là je ne peux pas aller plus loin
Dans le fichier joint (toto) si je veux écrire avec une couleur différente ou une taille différente je suis obligé d'anticiper la Couleur = Array(1, 3, 5, 3) Taille = Array(18, 16, 16)
Par exemple si je veux écrire la première ligne en rouge il faut que je supprime le 1 (noir) et si je veux une taille de 20 il faut que j'ajoute 20
ect..
Y a t-il mieux à faire?
Merci d'avance
Cordialement
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 153
Messages
2 085 799
Membres
102 980
dernier inscrit
brossadan