Accelerer une macro

Bonjour ric

En fait je ne veux pas effacer le contenu (car il y a une formule)

Merci

Bonjour,

Pour augmenter la vitesse de traitement > l'on passe par une variable tableau > donc les formules sont remplacées par des valeurs ...

Il faudrait réécrire les formules > mais pour cela je dois connaître ces formules pour les placer dans le code ...

ric

@ric

Si j'ai juste un exemple avec une formulaire c'est bon aussi , c'est juste pour voir le principe

Merci

Bonjour @Ric

Je revient vers toi concernant l'aide que tu m'as apporté sur mon fichier.

Je viens de me rendre compte d'un petit bug :

Quand j'introduis une date dans le formulaireFT de l'onglet Listing_FT, si j'entre une date 09/11/2020 (9 novembre 2020) quand je valide, il introduit dans le classeur 11/09/2020 (11 septembre 2020).

J'ai vérifier le format des cellules il est correct.

Par contre si je change le format de ma cellule en mm/jj/aaaa c'est correct.

Aurais-tu une idée

Merci d'avance

Bonne soirée

2fichier3.xlsm (289.41 Ko)

Bonjour,

Je vois cela > j'ai trouvé que la lecture de la feuille pour placer les données dans une variable tableau ...

Puis de la variable tableau vers le Userform > ça se passe bien > les dates ne sont pas modifiées ...

C'est au moment de l'écriture dans la feuille > bouton "Validation modif" > que le souci se révèle ...

Je poursuis la recherche d'une solution ...

ric

Bonsoir @ric

Merci d'avance pour ton aide

bonne soirée

Bonjour,

Ça fonctionne correctement ...

Si tu es intéressé par le changement que j'ai fait > va dans le code du bouton "Validation modif" > il y 7 lignes de "Select Case ..." jusqu'à " End Select" ...

Ce ne sont que ces 7 lignes qui sont les modifs qui corrigent les dates ...

Un petit changement >> sur ma machine > ça donne des dates du style " 10-11-2020" (10 novembre 2020) > car dans les Paramètres de Windows > la date courte est de ce style > je ne sais pas pour ta machine > si ce sont des " / " ou des " - " pour la date courte ...

S'il faut corriger les dates déjà inscrites dans ton fichier > il va falloir que tu passes par le formulaire > sélectionne les items un à un > puis assure-toi que dans le formulaire ce soit les bonnes dates > et enfin le bouton "Validation modif" pour réécrire avec le bon format ...
Sinon > tu peux aussi les corriger manuellement dans la feuille ...

Le résultat avec "-" ou "/" dépend de la date courte de Windows > car j'utilise CDate(Me("TextBox" & k))  > Cdate converti le texte au format date > car comme son nom le dit > un TextBox ne peut contenir que du texte ...

A+

ric

3fichier3b.xlsm (304.28 Ko)

Bonjour @ric

Merci pour ton aide

J'ai aussi remarqué que tu as supprimé la ligne tmp(1, k) = Me("TextBox" & k), je suppose que se sont les nouvelles lignes qui la remplace.

Encore un grand merci

Bonne journée

Bonjour,

Je n'ai pas supprimé  tmp(1, k) = Me("TextBox" & k) > cette ligne est intégrée dans le Select Case ...

        For k = 4 To Ncol  ' << k = decalage de colonnes
            Select Case k
            Case 4 To 38, 40, 42, 43, 45, 47, 48, 50, 52, 53, 55, 57, 58, 60, 62, 63, 65, 67, 68, 70, 72 To 78
                tmp(1, k) = Me("TextBox" & k)  ' <<< ici <<<
            Case 39, 41, 44, 46, 49, 51, 54, 56, 59, 61, 64, 66, 69, 71
                If Me("TextBox" & k) <> "" Then tmp(1, k) = CDate(Me("TextBox" & k))  ' <<< et ici en forçant le format date
            Case Else
            End Select
        Next k

En fait > ce bout de code là sert dans la boucle For k = 4 to Ncol (de la colonne 4 to le nombre de colonnes) ...

Si ce sont des colonnes avec date et que le textbox n'est pas vide > force le format date ...

ric

Rechercher des sujets similaires à "accelerer macro"