XL 2016 VBA : utiliser le "i" sans le point "ı"

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 !

Yücel

XLDnaute Junior
Bonjour,

Je souhaiterai utiliser cette ligne mais ça ne fonctionne pas car le "i" n'a pas de point dessus (écriture en langue étrangère) :

Worksheets("Kiracı").Select

Cdt.

Yucel
 
Solution
Bonjour Yücel,

J'ai bien vu tes 3 derniers posts ; regarde le fichier joint.

J'ai amélioré la présentation de ton UserForm ;
nouveau code VBA complet de ce UserForm :


VB:
Option Explicit

'sub privée Job() : appelée uniquement par ces 2 subs : CommandButton1_Click()
'et CommandButton3_Click() (donc par un clic / boutons Ajouter et Modifier)

Private Sub Job(lig&)
  With Cells(lig, 2) 'on référence la colonne B : Appart
    .Value = TextBox1         'Appart
    .Offset(, 1) = ComboBox1  'code locataire
    .Offset(, 2) = TextBox2   'Genre
    .Offset(, 3) = TextBox3   'Nom
    .Offset(, 4) = TextBox4   'Prénom
    .Offset(, 6) = TextBox5   'Tel / Mail
    .Offset(, 7) = TextBox6   'entrée le
  End With
End Sub

'clic / bouton...
Bonjour Yücel,

Désolé, j'ai oublié de corriger Dim ligne As Integer en Dim ligne As Long ou Dim ligne&

En effet, la valeur maximum du type Integer est 32 767 ; donc pour cette instruction :

ligne = Cells(Rows.Count, 2).End(3).Row + 1

la macro va planter si le calcul de la variable ligne tombe sur 32 768 ou plus !

---------------------------------------------------------------------------------------------------

Si tu as d'autres macros que la sub CommandButton1_Click() pour lesquelles une variable
de type Integer doit contenir un n° de ligne qui risque de dépasser 32 767, alors là aussi,
remplace Integer par Long, ou utilise le caractère de déclaration de type & :
Dim Lig& est idem que Dim Lig As Long (c'est juste plus court !).

Très bonne journée à toi aussi !
🙂

soan
 
Dernière édition:
Soan 🙂

j'aurais une autre demande sur le même fichier SVP,

Lorsque j'écris ça :

modif = TextBox1.ListIndex + 2

ça me met une erreur car "TextBox1" n'aime pas "ListIndex" je pense !

Par quoi changer "Listindex" pour que ça fonctionne avec "Textbox1" ??

Merci pour votre aide !
 
le code en un peu plus large :

Dim modif As Integer
modif = TextBox1.ListIndex + 2
Cells(modif, 3) = TextBox1.Value
Cells(modif, 6) = TextBox2.Value
Cells(modif, 7) = TextBox3.Value
Cells(modif, 8) = TextBox4.Value
Cells(modif, 9) = TextBox5.Value
Cells(modif, 10) = TextBox6.Value

...
 
Bonjour Yücel,

J'ai bien vu tes 3 derniers posts ; regarde le fichier joint.

J'ai amélioré la présentation de ton UserForm ;
nouveau code VBA complet de ce UserForm :


VB:
Option Explicit

'sub privée Job() : appelée uniquement par ces 2 subs : CommandButton1_Click()
'et CommandButton3_Click() (donc par un clic / boutons Ajouter et Modifier)

Private Sub Job(lig&)
  With Cells(lig, 2) 'on référence la colonne B : Appart
    .Value = TextBox1         'Appart
    .Offset(, 1) = ComboBox1  'code locataire
    .Offset(, 2) = TextBox2   'Genre
    .Offset(, 3) = TextBox3   'Nom
    .Offset(, 4) = TextBox4   'Prénom
    .Offset(, 6) = TextBox5   'Tel / Mail
    .Offset(, 7) = TextBox6   'entrée le
  End With
End Sub

'clic / bouton "Ajouter"

Private Sub CommandButton1_Click()
  If ComboBox1 = "" Then MsgBox "Veuillez renseigner le champ 'Nom/Prénom'": Exit Sub
  If MsgBox("Confirmez-vous l'ajout des données ?", 4, "confirmation") <> 6 Then Exit Sub
  Application.ScreenUpdating = 0: Feuil1.Select
  Dim lig&: lig = Cells(Rows.Count, 2).End(3).Row + 1 'selon colonne B : Appart
  Job lig: Unload UserForm1: UserForm1.Show
End Sub

'clic / bouton "Rechercher"

Private Sub CommandButton2_Click()
  If ComboBox1 = "" Then Exit Sub
  Dim lig&: lig = ComboBox1.ListIndex + 2: Application.ScreenUpdating = 0
  With Cells(lig, 1)
    TextBox1 = .Value         'Appart
    ComboBox1 = .Offset(, 1)  'code locataire
    TextBox2 = .Offset(, 2)   'Genre
    TextBox3 = .Offset(, 3)   'Nom
    TextBox4 = .Offset(, 4)   'Prénom
    TextBox5 = .Offset(, 6)   'Tel / Mail
    TextBox6 = .Offset(, 7)   'entrée le
  End With
End Sub

'clic / bouton "Modifier"

Private Sub CommandButton3_Click()
  Dim lig&: Application.ScreenUpdating = 0: Feuil1.Select
  If ComboBox1 <> "" Then
    lig = ComboBox1.ListIndex + 2: Job lig
    Application.ScreenUpdating = -1: MsgBox "Modification effectuée"
  Else
    Application.ScreenUpdating = -1
    MsgBox "Veuillez sélectionner le Nom/Prénom de la personne à modifier"
    Exit Sub
  End If
  Unload UserForm1: UserForm1.Show 0
End Sub
soan
 

Pièces jointes

- 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
10
Affichages
497
Réponses
0
Affichages
374
Retour