XL 2016 Bug macro sur boucle FOR EACH depuis MAJ Office

  • Initiateur de la discussion Initiateur de la discussion samimi94
  • 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 !

samimi94

XLDnaute Occasionnel
Bonjour le forum,

Je sollicite de nouveau votre aide suite à plusieurs recherches infructueuses.

Je rencontre un problème d’exécution d'une macro sous 2016 (pack 365) depuis la mise à jour du pack Office cette semaine.

L’exécution "pas à pas" semble indiquer que le bug se produit sur deux boucles :

Code:
 Dim x As Range
    For Each x In Selection
        x = suppAccent(x.Value)
    Next x

et

Code:
Set Plage = Intersect(Selection, ActiveSheet.UsedRange)
If Plage Is Nothing Then Exit Sub
For Each Cel In Plage
    Cel = UCase(Cel)
Next Cel

Ce problème a été décelé uniquement sous la version 2016 (365), or sur la version 2016 PC même après MAJ la macro fonctionne correctement.

En espérant que cette erreur peut-être corrigée par une simple modification de code.

Merci à tous pour votre aide.

Samimi94
 
Re

@samimi94
Il manque s(25)
Car tes colonnes vont jusqu'à la lettre Z
Tu peux revérifier et ajouter ce qui manque.

Ci-dessous petite macro pour illustrer mon propos
VB:
Sub TEST_COL()
Dim vArr(), i&, s_Test$
ReDim vArr(25)
vArr = Array(8, 1, 6, 15, 9, 2, 10, 32, 32, 32, 10, 27, 2, 2, 30, 25, 12, 8, 32, 32, 32, 10, 27, 2, 59)
For i = LBound(vArr) To UBound(vArr)
s_Test = s_Test & i & "| " & Cells(1, i + 1).Address(0, 0) & "| " & vArr(i) & vbCrLf
Next
MsgBox s_Test, vbInformation, "TEST"
End Sub
 
Staple 1600,

En effet j'ai zappé une des colonnes Commentaires dans le formatage.
Merci de l'avoir repéré.

Voici la correction :

s(0) = 8
s(1) = 1
s(2) = 6
s(3) = 15
s(4) = 9
s(5) = 2
s(6) = 10
s(7) = 32
s(8) = 32
s(9) = 32
s(10) = 10
s(11) = 27
s(12) = 2
s(13) = 2
s(14) = 30
s(15) = 30
s(16) = 25
s(17) = 12
s(18) = 8
s(19) = 32
s(20) = 32
s(21) = 32
s(22) = 10
s(23) = 27
s(24) = 2
s(25) = 59

Merci.
Samimi94.
 
Staple 1600,

Merci pour le temps que tu passes sur mon problème, j'ai pris une bonne partie de ton WE.
J'ai testé le code, le résultat sur les formats est correct et par conséquent plus de perte des 0 aux codes postaux, cependant, la longueur de champ n'est plus respectée dans le fichier texte généré.

La colonne B par exemple doit avoir 1 digit en longueur de champ alors que l'on a un espace avec l'information de la colonne C.
La ligne d'entête quant à elle, n'est plus supprimée.

Merci.
Samimi94.
 

Pièces jointes

Re,

@samimi94
Joins deux fichiers
1) 1 fichier Excel avec 30 lignes remplies comme sur un fichier original (mais avec des données bidons)
2) 1 fichier Texte qui doit être le résultat à obtenir.

NB: Je ne fais pas qu'être devant mon PC durant ce week-end frisquet.
Je vaque à d'autres occupations.
Actuellement, je suis en train de préparer ma soupe pour ce soir 😉
Zippes ces 2 fichiers et joins le *.zip obtenu dans la discussion.
 
Staple 1600,

Ce n'est pas bon. Les longueurs de champs de ne sont pas respectées et des lignes vides se sont intégrées dans le fichier texte à la fin.
La dernière ligne du fichier texte doit être la dernière ligne du fichier excel qui possède des valeurs.

Voici en PJ la différence entre les deux résultats.

Merci.
Samimi94.
 

Pièces jointes

  • Resultat.jpg
    Resultat.jpg
    385.5 KB · Affichages: 50
Staple 1600,

C'est déjà beaucoup ce que tu m'as apporté et je t'en remercie grandement.
Je n'aurai jamais pensé avoir une solution avec cette mise à jour, je me voyais déjà abandonner mon fichier.

Merci pour tout ce que tu m'as apporté et appris au passage, ce fut très constructif.

Passes une bonne soirée.

Samimi94.
 
Bonjour le fil, le forum

@samimi94
Une dernière livraison.

Maintenant, j'ai épuisé mon stock de neurones et fini de passer mes archives VBA en revue.

J'espère que d'autres ici prendront la suite pour finir par solutionner cette affaire. (*)

*: Mais j'en doute vu que depuis 3 pages, je suis comme Matt Damon :
" Seul sur ce fil" 😉
 

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
7
Affichages
786
Réponses
6
Affichages
972
Compte Supprimé 979
C
Retour