Combiner deux tableaux

Dommage

Merci pour l'effort

Pourriez vous automatiser l'alignement le coloriage et la mise en forme des tableaux sans les rendre dans un seul tableau ?

Si vous voulez automatiser la mise en forme de ce tableau en alignant les titres des chapitres, ce qui prend une minute à le faire à la main, c'est que votre tableau d'ensemble est susceptible de changer dans le temps, sinon je ne verrais pas l'utilité d'automatiser cette présentation.

J'ai bien étudié ce tableau et ne saurais le faire à cause des nombreux doublons. La chose serait facile sur un plan comptable normal, ce n'est pas le cas ici.
On a deux types de doublons :
- on peut avoir deux noms de chapitre différents pour un même n° de compte : exemple on trouve le compte 69 dans les chapitres "Achats de marchandises consommées" et "Autres charges d'exploitation" (23 doublons)
- on peut avoir deux fois (ou plus) le même n° de compte dans un même chapitre : exemple dans les "Charges d'exploitation" les comptes 70 à 78 sont tous en double, le doublon étant toujours vide (???).

Merci , je vous présente un cas réel , j'ai amélioré en donnant des tableaux séparés , je pense que ca permet d'utiliser la fonction CurrentRegion,

je suis débutant en VBA , merci à vous.

5tableau-notes.xlsx (15.73 Ko)

C'est ce que je vous avais proposé en vous demandant si on pouvait restructurer ce tableau général. Maintenant la fusion des 2 tableaux en un est faisable. Je regarde ça.

Bien reçu , Merci.

Noter bien que les tableaux ne sont pas tous alignées , tu peux le constater pour les dernières, je veux automatiser cela .

voici un code que je commence à éditer , mais il faut l'appliquer en passant d'un tableau à un autre, je suis trés débutant en VBA

Sub alignement()
Dim i As Integer
Dim N As String

Range("B2").Select
Selection.End(xlDown).Select
N = Selection.Value

For i = 1 To 1000
If Range("E" & i).Value = N Then

Range("E" & i).CurrentRegion.Select

Selection.Cut
Range("E6").Select
ActiveSheet.Paste
Exit For
End If
Next i

End Sub

J'avais remarqué et ne peux rien faire pour toi tant que les tableaux ne sont pas parfaitement alignés.

J'ai remonté les tableaux décalés d'une ligne vers le bas pour pouvoir avancer. Mais si le tableau général reste en l'état, c'est fouti (épicerie trop difficile à gérer).

Pour le reste ce sera à toi de jouer.

15tableau-1.xlsm (32.29 Ko)

Merci infiniment

J'ai trouvé une solution pour aligner automatiquement les lignes, sauf que si j'ajoute une ligne vide au tableau d'origine , la macro que vous avez crée ne fonctionne pas correctement, en effet par exemple : la rubrique immobilisation corporelle comporte 8 lignes mais peut comporter 12 , ou 20 lignes ......selon le cas de l'entreprise

pouvez vous actualiser votre code pour qu'il s'adapte à des rubriques de taille variable ?

le bouton alignement permet d'aligner les rubriques

Merci

9tableau-2.xlsm (34.37 Ko)

Bonjour

Optimix fera comme il veut mais le but d'un forum n'est pas de faire le job à ta place

Tu devrais pouvoir analyser le code et l'adapter, éventuellement en posant une ou deux questions précises

C'est le seul moyen d'apprendre et gagner en autonomie

Sinon tu te retrouves avec un code que tu es incapable de maintenir et on te revois chaque semaine...

Je suis débutant en VBA, je trouve ce forum très riche , je remercie Optimix pour l'effort qu'il à fourni pour m'orienter , mon niveau actuel ne me permet pas de manipuler le code d'Optimix , mais grâce à ce forum je suis arrivé à aligner des tableaux par VBA , merci à tous.

Je crois qu'on va y arriver. Juste deux petites remarques si tu le permets. L'instruction Goto est une horreur. On ne l'utilise que dans la gestion des erreurs dans les interceptions du genre On Error Goto. Autrement, tu as des boucles comme While...Wend et Do...Loop qui te permettent d'éviter de coller des Goto dans tes codes.

De plus, tu as utilisé les entiers 1 et 2 comme des étiquettes. Hélas, ça marche (une des nombreuses faiblesses de VBA), mais il vaudrait mieux mettre de vrais étiquettes dans le style DEBUT: et FIN: sans oublier les deux points.

9tableau-2.xlsm (31.04 Ko)

Un dernier détail : j'ai du débaptiser les comptes "Capital social" et "Résultats rapportés" en "Capit. social" et "Résult. rapportés" parce que les noms de compte doivent être différents des noms de chapitre (quand je te parlais des types de doublons, c'est le 3e).

Merci Optimix , en effet je dois diversifier mes outils car pour le moment je n'utilise que la boucle For, il convient d'appendre les autres boucle

merci à vous.

N'oublie pas de verrouiller ce fil. A plus.

Rechercher des sujets similaires à "combiner deux tableaux"