Problème d'ecriture

Bonjour

Je me retrouve avec un fichier plein de trou que je voudrais remplir automatiquement , d'une part et avec des doublons d'autre part.

Un super Vba me serait tres utile

Malheureusement je cale sur le sujet :

Sur le fichier joint il y a des colonnes a remplir par la cellule précédente pleine.

Dans l'exemple

toute la colonne A devrait être CA ou VE la premiere valeur devant descendre jusqu'à la deuxieme.

Toute la colonne B devrait être des dates ( par exemple entre le 04/04/18 et le 05/04/18 il faudrait du 04/04/18)

Dans la colonne C la cellule du haut devrait se décliner jusqu'à la cellule remplie inferieure suivante et ainsi de suite

D'autre part

Autre problème de temps en temps (ligne 4 par exemple)les colonnes débit et crédit comportent tous deux une valeur , or chaque ligne doit comporter un zero pour etre accepter comptablement parlant.

C'est a dire si debit =4 et credit =6 alors il faudrait debit = 4 et credit = 0 puis ligne suivante debit = 0 et credit = 6 .

Je suis preneur de tout conseil.

Bonjour,

à tester,

Sub Remplir_Vide()
lastrw = Cells(Rows.Count, 5).End(xlUp).Row
For col = 1 To 3
    For i = 2 To lastrw
     If Cells(i, col).Value = 0 Or Cells(i, col) = "" Then Cells(i, col).Value = Cells(i, col).Offset(-1, 0).Value
    Next
Next
End Sub

bonjour

salut sabV

autre suggestion, faire menu Données/récupérer. Ce qui ouvre Power Query, qui est une fonctionnalité d'Excel dont le rôle est justement de triturer les données pour les normaliser (et plus si nécessaire).

PQ peut faire tout ce que tu demandes.

avantage : le fichier de départ peut être mis à jour, par exemple s'il vient d'un progiciel. PQ refait les manipulations tout seul.

avantage 2 : plus facile que VBA, car le GUI de PQ est sans cesse amélioré par Microsoft (qui y voit son avenir, alors que VBA est son passé).

Bonjour sabV et jmd.

Tout d'abord je m'excuses du retard à répondre à vos propositions , Pc planté et difficultés à réinitialiser la config etc... bref je m'excuses platement et vous remercie de consacrer un peu de temps à nous faire progresser en xl.

J'ai testé le sub de sabV et il fonctionne bien en ce qui concerne le remplissage des cellules vides. merci .

Jmd , je pense que ma version 2007 ne comporte pas power query , je ne trouve que microsoft query .

Cependant concernant la deuxième partie de mon problème a savoir "de temps en temps (ligne 4 par exemple)les colonnes débit et crédit comportent tous deux une valeur , or chaque ligne doit comporter un zero pour etre accepter comptablement parlant.

C'est a dire si debit =4 et credit =6 alors il faudrait debit = 4 et credit = 0 puis ligne suivante debit = 0 et credit = 6 ."

Quelqu'un aurait il une idée ?

Bonjour jactitine, le forum,

Tu a écrit :

Un super Vba me serait très utile ... Quelqu'un aurait-il une idée ?

Oui, moi j'ai une idée ! ... voici le super fichier VBA :

Ctrl e ➯ travail effectué

Alt F11 pour voir la macro, puis revenir sur Excel

Si besoin, tu peux demander une adaptation.

Merci de me dire si ça te convient.

dhany

dhany

c'est exactement ce qu'il me faut , simple et claire

Je te remercie ainsi que jmd et sabV.

Un sacré coup de main que vous m'avez donné.

Bonjour jactitine,

Je suis vraiment ravi d'avoir pu t'aider !

Merci pour ton retour, et pour avoir passé le sujet en résolu !

je te souhaite bonne continuation.

Lis aussi mon message suivant : optimisation « de dernière minute ».

dhany

@jactitine

Petite optimisation « de dernière minute » de mon code VBA précédent :


J'ai supprimé le début de : Cells(lig - 1, 1).Resize(, 6).Copy Cells(lig, 1)

pour avoir ceci : .Resize(, 6).Copy Cells(lig, 1)

➯ ça dépend de With Cells(lig, 1)

c'est ok car même après insertion d'une ligne, c'est toujours la référence de la ligne au-dessus, celle qui contient à la fois un Débit et un Crédit ; c'est d'ailleurs selon ce même principe que .Offset(, 5) = 0: .Offset(1, 4) = 0 met les 2 zéros aux 2 bons emplacements.

le résultat sera le même, mais ça doit être légèrement plus rapide car c'est à partir de la référence déjà connue et mémorisée dans le With ➯ ça a pas besoin de « calculer » la nouvelle référence Cells(lig - 1, 1)


Tu peux lire aussi mon message précédent de 14:04 : https://forum.excel-pratique.com/viewtopic.php?p=648656#p648656

dhany

Merci dhany.

çà fonctionne en effet très bien. .

jactitine

ok, impeccable !!!

dhany

Rechercher des sujets similaires à "probleme ecriture"