Importation Données (Modification Formule)

Bonjour à tous,

dans le fichier ci-joint j'ai un onglet ODA sur lequel j'ai une formule qui importe les données des colonnes L, M et J de l'onglet Mars-2015 vers les colonnes D, L et H de l'onglet ODA

je veux modifier cette formule ou plutôt rajouter une autre formule pour qu'elle importe aussi les données des colonnes L, M et I de l'onglet Février-2015 (juste si les cellules de la colonne E sont remplisses) vers les colonnes D, L et H de l'onglet ODA,

Merci d'avance

18location.zip (240.09 Ko)

aidez moi s'il vous plait

est ce que vous pouvez m'aider s'il vous plait

bonsoir,

J'ai quelques difficultés à comprendre ce que tu veux

Tu souhaite obtenir les résultats de février et mars dans les mêmes cellules D,L,M

Cordialement

Bonsoir etsije,

Oui je veux toutes les données de mars mais fevrier juste quand la colonne i n'est pas vide

aidez moi s'il vous plait

Bonjour,

Possible de rajouter une colonne?

non impossible parce que la mise en forme du tableau est exporté d'un logiciel (SAP)

Bonjour

Si j'ai compris

En D6 et à tirer vers le bas

=SI(OU(INDIRECT("'" & $B$1&"'!E"&LIGNE()+4)="";INDIRECT("'" & $B$1 & "'!L" & LIGNE()+4)="");"";INDIRECT("'" & $B$1 & "'!L" & LIGNE()+4))

En H6 et à tirer vers le bas

=SI(OU(INDIRECT("'" & $B$1&"'!E"&LIGNE()+4)="";INDIRECT("'" & $B$1 & "'!J" & LIGNE()+4)="");"";INDIRECT("'" & $B$1 & "'!J" & LIGNE()+4))

En L6 et à tirer vers le bas

=SI(OU(INDIRECT("'" & $B$1&"'!E"&LIGNE()+4)="";INDIRECT("'" & $B$1& "'!M" & LIGNE()+4)="");"";INDIRECT("'" & $B$1& "'!M" & LIGNE()+4))

Bonjour BANZAI,

merci pour votre réponse mais la formule ne me donne aucun résultat que le vide et ne travaille que sur le mois de Mars...(c'est pas ce que je veux)

je joins le même fichier avec le résultat souhaité en choisissant mars-2015 sur B1

c'est a dire je veux :

1- importer les données des colonnes L, M et J de l'onglet Mars-2015 vers les colonnes D, L et H de l'onglet ODA

2-importer les données des colonnes L, M et I de l'onglet Février-2015 (juste si les cellules de la colonne E sont remplisses) vers les colonnes D, L et H de l'onglet ODA,

cad si je choisi sur B1 mars-2015 je dois avoir les résultats que j'ai sur le fichier ci-joint)

j'ai essayé avec cette formule sur la colonne D mais ca me donne pas toutes les lignes et en même temps ca me laisse des lignes vides entre les lignes :

=SI(INDIRECT("'"&TEXTE(MOIS.DECALER($B$1;-1);"mmmm-aaaa")&"'!I"&LIGNE()+4)<>"";INDIRECT("'"&TEXTE(MOI S.DECALER($B$1;-1);"mmmm-aaaa")&"'!L"&LIGNE()+4);SI(INDIRECT("'"&TEXTE(MOIS .DECALER($B$1;-1);"mmmm-aaaa")&"'!I"&LIGNE()+4)="";INDIRECT("'"&$B$1&"'!L" &LIGNE()+4);""))

je crois que vous avez compris ce que je veux

Merci d'avance

Bonjour

marfipo a écrit :

ca me laisse des lignes vides entre les lignes

Désolé mais je ne sais pas faire

Il faut (si c'est possible à faire) les connaissances des docteurs es formules

Encore désolé

re Banzai,

il y'a une autre possibilité : c'était vous qui avait modifié le code vba du fichier ci-joint si vous vous rappelez

maintenant il faut juste changer une partie dans le code qui se trouve dans le module newmonthsheet et je ferais le reste :

For I = 35 To 9 Step -1
    If IsDate(Cells(I, "E").Value) Then Cells(I, "E").EntireRow.Delete
  Next I

cette partie en faisant l'incrémentation des mois supprime toutes les lignes qui ont des cellules de la colonne E remplises.

maintenant je dois la changer en rajoutant une nouvelle condition comme ceci:

s'il existe une date dans la colonne E et cette date et petite que la date de la cellule B8 supprimer la ligne....mais si cette date est plus grande que celle de la cellule B8 ne pas supprimer la ligne


re banzai,

si ce n'est possible avec formule est ce qu'on peut faire ceci avec VBA:

si je choisi Mars-2015 sur la celule B1 de l'onglet ODA je veux que le code :

1- importe les données des colonnes L, M et J de l'onglet Mars-2015 vers les colonnes D, L et H de l'onglet ODA

2-importe les données des colonnes L, M et I de l'onglet Février-2015 (juste si les cellules de la colonne E sont remplisses) vers les colonnes D, L et H de l'onglet ODA,

tout en sachant que la cellule B1 est variable c'est à dire si je choisi Avril-2015 le code importe :

1- les données des colonnes L, M et J de l'onglet Mars-2015 vers les colonnes D, L et H de l'onglet ODA

2-les données des colonnes L, M et I de l'onglet Février-2015 (juste si les cellules de la colonne E sont remplisses) vers les colonnes D, L et H de l'onglet ODA

(les couleurs en vert dans l'onglet sont les importations de l'onglet Mars-2015 et celles en violet sont les importations de l'onglet Février-2015 pour vous montrer le résultat que je souhaite avoir)

Merci d'avance

Bonjour

Pour rappel je ne m'étais occupé que de la protection des lignes restantes

marfipo a écrit :

s'il existe une date dans la colonne E et cette date et petite que la date de la cellule B8 supprimer la ligne..

En colonne B pas de date, cela ne serait pas en D8 ?

Ensuite cette date ne sera jamais inférieure à la date de sortie

La date de sortie (location) sera toujours inférieure (ou égale) à la date de rentrée

Édit : tu as écris un nouveau message entre temps

Pour le moment je n'ai pas le temps

re,

non la date qui se trouve en B8 n'a rien avoir avec la date de sortie de location.. c'est la date d'arrêt de gestion du matériel du mois en cours (c'est pour faire une anticipation des jours qui viennent après cette date)

donc cette partie de code je veux que ce soit comme ça si c'est possible :

s'il existe une date dans la colonne E et cette date et petite que la date de la cellule B8 supprimer la ligne....mais si cette date est plus grande que celle de la cellule B8 ne pas supprimer la ligne (on va comparer toujours toutes les cellules de la colonne E avec la cellule B8)

(je m'excuse pour l'autre message je voulais juste vous éclaircir ma demande)

Bonjour

Si j'ai (enfin) compris

Remplace la partie de code correspondante par celle-ci

  For I = 35 To 9 Step -1
    If IsDate(Cells(I, "E").Value) Then
      If Cells(I, "E") < Range("B8") Then Rows(I).Delete
    End If
  Next I

Merci beaucoup Banzai,

c'est exactement ce que je cherchais...

je vais travailler sur ça au lieu des formules et je vais vous tenir au courant du résultat par la suite

Bonjour Banzai,

je reviens vers vous pour le dernier code que vous m'avez fournis

  For I = 35 To 9 Step -1
    If IsDate(Cells(I, "E").Value) Then
      If Cells(I, "E") < Range("B8") Then Rows(I).Delete
    End If
  Next I

je souhaite rajouter une condition à cette partie du code en introduisant la formule STXT comme ceci :

pour chaque cellule de la colonne B ====> SI(STXT(B;1;2)="OT" alors supprimer la ligne

Merci d'avance

16facture-2.xlsm (228.31 Ko)

Bonsoir

marfipo a écrit :

je souhaite rajouter une condition

Avec ET

  For I = 35 To 10 Step -1
    If IsDate(Cells(I, "E").Value) Then
      If Cells(I, "E") <= Range("B8") And UCase(Left(Range("B" & I), 2)) = "OT" Then Rows(I).Delete
    End If
  Next I

Avec OU

  For I = 35 To 10 Step -1
    If IsDate(Cells(I, "E").Value) Then
      If (Cells(I, "E") <= Range("B8")) Or (UCase(Left(Range("B" & I), 2)) = "OT") Then Rows(I).Delete
    End If
  Next I

A toi de choisir celui que tu veux

Rechercher des sujets similaires à "importation donnees modification formule"