Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb lecture fichier ini

2 réponses
Avatar
MV71
Bonjour,
j'ai trouvé un modèle de connexion aux fichiers *.ini que j'ai essayé
d"adapter. Je voudraisque la lecture d'un signe particulier déclenche un
décalage (par exp pour écrire des colonnes successives). J'ai réussi (je le
constate en pas à pas, mais le tour suivant annule l'effet.
Je ne maîtrise pas du tout VBA, je précise. Le code ci-dessous:

Sub LectFichierIni()
If IsEmpty(Cells(1, 1)) Then 'cellule (Ligne, Colonne)
Range("A1").Select
Else: Range("A65536").End(xlUp).Offset(1, 0).Select
End If

Open "D:\...\persotest.ini" For Input As #1
While EOF(1) = False
Line Input #1, LigneSuivante
'MsgBox LigneSuivante -->Affiche 1 MsgBox par Ligne!!!
'Cells(1, 1) = LigneSuivante -->écrit tt sur A1 (remplacement, ligne/ligne)

' ESSAI DE DECALAGE spécial (colonne...) à une MARQUE PARTICULIERE (ici *)
'TOUJOURS PAS AU POINT
If (ActiveCell.Offset(-1, 0)) = "*" Then 'Si cellule préc contient *
Range("A65536").End(xlUp).Offset(2, 0).Select 'Avance d'une ligne de plus à
l'étoile

Else: Range("A65536").End(xlUp).Offset(1, 0).Select 'emplacement normal
End If
' FONCTIONNE MAIS EST ANNULE AU TOUR SUIVANT

'Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell = LigneSuivante

Wend
Close #1
End Sub


Ce serait sympa dem'aider sur ce problème sans doute enfantin.
Merci d'avance
--
MV71 - Pour m'écrire supprimer .abc et abc. de chaque côté du @ :
r.viennet.abc@abc.laposte.net

2 réponses

Avatar
Jacky
Bonjour,

Pas sur d'avoir compris.....
Mais s'il s'agit d'écrire le contenu du fichier ".ini" dans la colonne A et
de décaler d'une ligne si une cellule de cette colonne est occupée par un
"*" , ceci peut-être:
'-----------
Sub LectFichierIni()
i = 1
Open "C:WINNTwin.ini" For Input As #1 '*****nom du fichier à adapter****
While EOF(1) = False
Line Input #1, LigneSuivante
If Range("a" & i) = "*" Then i = i + 1
Range("a" & i) = LigneSuivante
i = i + 1
Wend
Close #1
End Sub
'-------------
Salutations
JJ

"MV71" a écrit dans le message de
news:
Bonjour,
j'ai trouvé un modèle de connexion aux fichiers *.ini que j'ai essayé
d"adapter. Je voudraisque la lecture d'un signe particulier déclenche un
décalage (par exp pour écrire des colonnes successives). J'ai réussi (je
le

constate en pas à pas, mais le tour suivant annule l'effet.
Je ne maîtrise pas du tout VBA, je précise. Le code ci-dessous:

Sub LectFichierIni()
If IsEmpty(Cells(1, 1)) Then 'cellule (Ligne, Colonne)
Range("A1").Select
Else: Range("A65536").End(xlUp).Offset(1, 0).Select
End If

Open "D:...persotest.ini" For Input As #1
While EOF(1) = False
Line Input #1, LigneSuivante
'MsgBox LigneSuivante -->Affiche 1 MsgBox par Ligne!!!
'Cells(1, 1) = LigneSuivante -->écrit tt sur A1 (remplacement,
ligne/ligne)


' ESSAI DE DECALAGE spécial (colonne...) à une MARQUE PARTICULIERE (ici *)
'TOUJOURS PAS AU POINT
If (ActiveCell.Offset(-1, 0)) = "*" Then 'Si cellule préc contient *
Range("A65536").End(xlUp).Offset(2, 0).Select 'Avance d'une ligne de plus
à

l'étoile

Else: Range("A65536").End(xlUp).Offset(1, 0).Select 'emplacement normal
End If
' FONCTIONNE MAIS EST ANNULE AU TOUR SUIVANT

'Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell = LigneSuivante

Wend
Close #1
End Sub


Ce serait sympa dem'aider sur ce problème sans doute enfantin.
Merci d'avance
--
MV71 - Pour m'écrire supprimer .abc et abc. de chaque côté du @ :





Avatar
MV71
Bonsoir et merci
Toncode ne fontionne pas comme je le voulais mais il est très économique et
efficace pour une copie de colonne simple sans saut de ligne.
J'ai réussi à adapter le mien pour des sauts de colonne (ce qui était le but
final) mais je n'y suis jamais parvenu pour le saut de ligne; tant pis.
J'essaierai peut-être d'adapter aussi le tien si je peux
Encore merci pour ton aide
Bonne nuit

Jacky wrote:
Bonjour,

Pas sur d'avoir compris.....
Mais s'il s'agit d'écrire le contenu du fichier ".ini" dans la
colonne A et de décaler d'une ligne si une cellule de cette colonne
est occupée par un "*" , ceci peut-être:
'-----------
Sub LectFichierIni()
i = 1
Open "C:WINNTwin.ini" For Input As #1 '*****nom du fichier à
adapter**** While EOF(1) = False
Line Input #1, LigneSuivante
If Range("a" & i) = "*" Then i = i + 1
Range("a" & i) = LigneSuivante
i = i + 1
Wend
Close #1
End Sub
'-------------
Salutations
JJ

"MV71" a écrit dans le message de
news:
Bonjour,
j'ai trouvé un modèle de connexion aux fichiers *.ini que j'ai
essayé d"adapter. Je voudraisque la lecture d'un signe particulier
déclenche un décalage (par exp pour écrire des colonnes
successives). J'ai réussi (je le constate en pas à pas, mais le tour
suivant annule l'effet.
Je ne maîtrise pas du tout VBA, je précise. Le code ci-dessous:

Sub LectFichierIni()
If IsEmpty(Cells(1, 1)) Then 'cellule (Ligne, Colonne)
Range("A1").Select
Else: Range("A65536").End(xlUp).Offset(1, 0).Select
End If

Open "D:...persotest.ini" For Input As #1
While EOF(1) = False
Line Input #1, LigneSuivante
'MsgBox LigneSuivante -->Affiche 1 MsgBox par Ligne!!!
'Cells(1, 1) = LigneSuivante -->écrit tt sur A1 (remplacement,
ligne/ligne)

' ESSAI DE DECALAGE spécial (colonne...) à une MARQUE PARTICULIERE
(ici *) 'TOUJOURS PAS AU POINT
If (ActiveCell.Offset(-1, 0)) = "*" Then 'Si cellule préc contient *
Range("A65536").End(xlUp).Offset(2, 0).Select 'Avance d'une ligne de
plus à l'étoile

Else: Range("A65536").End(xlUp).Offset(1, 0).Select 'emplacement
normal End If
' FONCTIONNE MAIS EST ANNULE AU TOUR SUIVANT

'Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell = LigneSuivante

Wend
Close #1
End Sub


Ce serait sympa dem'aider sur ce problème sans doute enfantin.
Merci d'avance
--
MV71 - Pour m'écrire supprimer .abc et abc. de chaque côté du @ :




--
MV71 - Pour m'écrire supprimer .abc et abc. de chaque côté du @ :