Insertion de ligne sous conditions

Bonjour à tous,

Je viens vers vous car après moult recherche sur divers sites ainsi qu'ici, je ne trouve aucun réponses.

Pour mon travail, j'aimerais insérer une ligne pour l'instant vierge entre 2 lignes qui se suivent.

Je m'explique : j'ai une liste Alpha-numérique dans un fichier budget et réel. Des fois nous insérons des lignes dans le budget et j'aimerais les réinsérer automatiquement dans le réel.

Exemple : BUDGET REEL

AA150 AA150

AA165 AA168

AA168

De plus, mon fichier comporte environ 1800 lignes dans le budget et 1200 dans le Réel.

Dans l'attente de vous lire car je ne sais plus quoi faire.

Cordialement.

Bonjour,

L'insertion de cette nouvelle ligne doit se faire uniquement si 2 lignes sont identiques et quelles se suivent (l'une en dessous de l'autre)???

Cordialement,

Je vais être plus précis pardon:

Liste Alphanumérique mise à jour :

AA150

AA155 <= à mettre à jour

AA160

Liste à mettre à jour qui est dans une autre feuille

AA150 <= doit suivre ce code

AA160

J'aimerais intégrer AA155 dans mon autre feuille entre AA150 et AA160.

Je pense que je n'ai pas répondu à ta question, il se peut que dans ma liste qui n'est pas à jour je dois vraiment insérer une nouvelle ligne pour un code non existant.

Ou alors une autre réponse possible à ta question :

Il faut que la ligne a insérer suive l'ordre du code alphanumérique

Bonjour et bienvenue sur le forum

Je crois que sans un extrait de ton fichier, il sera difficile de se comprendre...

Bye !

11aide-mise-a-jour.xlsm (141.78 Ko)

Alors voici ci-joint un fichier très simplifié.

La liste à jour est sur la feuille TCD P1 et j'aimerais mettre à jour la liste en BU P1.

J'ai effectué un recherche V dans la liste en TCD P1 pour voir les quels à rajouter dans l'autre liste.

S'il y a des trous entre les codes de BU P1 C'est normal car il y a des titres et plusieurs autres colonnes. Mais pour des soucis de confidentialité j'ai restreint au maximum mon fichier.

Dans l'attente de vous lire.

Cordialement

Bonjour,

J'ai une idée d’algorithme mais qui risque de ne pas être performant étant donnée le nombre de lignes présent dans les 2 feuilles...

  • Prendre la première valeur (A10) du premier onglet (TCD P1) et la stocker dans une variable.
  • Faire une boucle sur le deuxième onglet qui regarde les valeurs et SI il trouve une correspondance (c'est que c'est à jour) ALORS on passe à la 2ème valeur du premier onglet (A100 TCD P1) et on recommence. SINON c'est que c'est pas à jour. On doit alors trouver où insérer cette valeur

Cordialement,

Matthieu2 a écrit :

Bonjour,

J'ai une idée d’algorithme mais qui risque de ne pas être performant étant donnée le nombre de lignes présent dans les 2 feuilles...

  • Prendre la première valeur (A10) du premier onglet (TCD P1) et la stocker dans une variable.
  • Faire une boucle sur le deuxième onglet qui regarde les valeurs et SI il trouve une correspondance (c'est que c'est à jour) ALORS on passe à la 2ème valeur du premier onglet (A100 TCD P1) et on recommence. SINON c'est que c'est pas à jour. On doit alors trouver où insérer cette valeur

Cordialement,

C'est exactement ça que je voulais faire mais je ne savais pas comment le décrire merci pour le nom d'algorithme !!

Mais la en plus mon fichier est super restreint !!! Et c'est un outil que je veux mettre en place pour un gain de temps.

L'algorithme est-il réalisable? Je pourrais m'appuyer dessus afin de réaliser une chose peut être plus simplifié.

Car dans un futur, je voudrais ajouter un UserForm et créer de nouvelles lignes de ce même style du coup il faudra une partie de cette algorithme !! (J'adore ce mot).

Merci Matthieu

Re,

Oui la macro est faisable

Avez vous des connaissances en VBA ou faut-il vous aiguiller?

Bonjour Matthieu,

Je suis désolé de répondre que maintenant, mais je n'étais pas au travail ces dernier jours.

J'ai quelque petites connaissances en VBA, mais j'aimerais bien me faire aiguiller !!

Merci de vos réponse.

Bonjour,

En espérant que vous savez lancer VBA via excel et que vous savez où mettre ce code, voici un début:

Sub Comparaison()

'Je déclare 2 variables qui vont me permettre de stoquer la dernière ligne du tableau pour TCD PA et BU P1
Dim i As Long
Dim j As Long

'J'affecte la valeur à i et j
i = Worksheets("TCD PA").Range("A" & Rows.Count).End(xlUp).Row
j = Worksheets("BU P1").Range("A" & Rows.Count).End(xlUp).Row

'On a besoin des 2 lignes qui correspondent au début de chaque tableau:
Dim a As Long
Dim b As Long

'On va stoker le code dans une chaine de caractère. Il en faut 2:
Dim codeTCDPA As String
Dim codeBUP1 As String

for a = 3 To i
    'On stoque la première valeur de la ligne 3 colone A (d'où le 1) de l'onglet TCD PA
    codeTCDPA = Worksheets("TCD PA").Cells(a, 1).value

    for b = 5 To j
        'On stoque la première valeur de la ligne 5 colone A de l'onglet BU P1
        codeBUP1 = Worksheets("BU P1").Cells(b, 1).value

'Faire des If pour comparer les valeurs

Voila un début

Bonjour,

Merci Matthieu pour cette Aide, par contre au niveau du IF,

j'avais commencé à faire :

If codeTCDP1 = codeBUP1 Then

'ne rien faire

Else

'rechercher le code le plus proche et inserer une ligne en dessous. j'avais pensé a faire un ligne+1 insert .... mais mon plus gros soucis c'est pour la recherche V.

Bonjour tout le monde,

Petit up car je n'y arrives vraiment pas et sans ça je ne peux pas avancer .... Merci à vous d'avance.

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Bonjour,

Merci beaucoup GMB pour cette macro.

Cependant j'ai fait une rechercheV sur la nouvelle colonne ajouté par la macro et elle n'a pas inserer les codes existants dans TCD P1.

De plus cela à supprimé certain codes.

Est-il possible d’insérer une ligne directement sur la colonne A de l'onglet BU P1 ?

Cordialement,

Et merci encore d'avoir passé du temps sur mon problème.

Bonjour

Ozef a écrit :

...et elle n'a pas inserer les codes existants dans TCD P1.

Peux-tu me donner des exemples ?

De plus cela à supprimé certain codes.

Là aussi, il me faudrait des exemples.

Est-il possible d’insérer une ligne directement sur la colonne A de l'onglet BU P1 ?

On fera ça quand la macro actuelle donnera de bons résultats : il est plus facile de vérifier ainsi.

Bye !

Bonjour,

Merci de ton aide encore une fois Gmb,

Alors voila les exemples en Capture.

J'espère avoir donné des exemples claire.

Dans l'attente de te lire.

Bonjour

Nouvelle version à tester.

Si on est sûr que les résultats sont bons, il sera facile de demander à la macro de les mettre en colonne A.

Bye !

Rechercher des sujets similaires à "insertion ligne conditions"