XL 2013 Copier une valeur SI page n°2

Danyk01

XLDnaute Occasionnel
Bonjour
J'aimerais recopier une valeur d'une cellule N56 vers un endroit, mais si il y a une deuxième page il faut recopier la valeur N119 au même endroit
Le fichier capture ci-joint montre la formule N56 (cadre en rouge)
Merci de votre aide
 

Pièces jointes

  • Capture.pdf
    253.4 KB · Affichages: 42

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Danyk,
Très astucieux d'intégrer un jpg au sein d'un pdf.
Si je comprends bien, il faut ressaisir le code pour essayez d'apporter une solution.
Une autre solution peut être :
Utilisez les balises </> et y coller votre code. Plus rapide, plus simple, et une chance d'avoir une réponse.:)
 

Danyk01

XLDnaute Occasionnel
Hello Sylvanu
je peux joindre le fichier excel mais ce n'est pas sûr que ça marche compte tenu qu'il y a des fichiers externes liés
Je ne comprends pas ton plan avec les balises !!
veux tu que je t'envoie le fichier? c'est un fichier de devis-facture que tu as contribué à mettre en place, je ne voudrais pas le publier
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Les balises sont dans la ligne au dessus du message, c'est </> à coté du smiley.
Ca donne ça :
VB:
Sub Remonte()
On Error GoTo Fin
IndexA = Application.Match([G4], [A:A], 0)
For i = 1 To 5
    Cells(2, i) = Cells(IndexA, i)
Next i
Rows(IndexA).EntireRow.Delete
Fin:
End Sub
On a plus qu'à le récupérer pour le mettre dans un module. Je suis assez fainéant.:)
 

Danyk01

XLDnaute Occasionnel
VB:
'***************************
'Archivation dans un journal
'***************************

Sub ARCHIVATION()

 Dim Journal As Workbook, ligne%
 Application.ScreenUpdating = False
     Set Journal = GetObject("F:\Documents\01.DK.PLAC'ART_QUOTIDIEN\02.DEVIS_FACTURES\2020 DEVIS\JOURNAL\JOURNAL_DEVIS.xlsx")
         'Détermine le chemin cible
         Journal.Windows(1).Visible = True 'Pour rendre le classeur visible
  
     ligne = Journal.Sheets("Liste").Range("A2").End(xlDown).Row + 1    '(Détermine la ligne à renseigner)
     ThisWorkbook.Sheets("DEVIS").Activate   'Active la page
    
     Journal.Sheets("Liste").Range("A" & ligne).Value = Sheets("DEVIS").Range("H9").Value   'Recopie les valeurs
     Journal.Sheets("Liste").Range("B" & ligne).Value = Sheets("DEVIS").Range("R12").Value
     Journal.Sheets("Liste").Range("C" & ligne).Value = Sheets("DEVIS").Range("D9").Value
     Journal.Sheets("Liste").Range("D" & ligne).Value = Sheets("DEVIS").Range("D18").Value
     Journal.Sheets("Liste").Range("E" & ligne).Value = Sheets("DEVIS").Range("N56").Value 'N56 ou N119 si page 2
     Journal.Sheets("Liste").Range("F" & ligne).Value = Sheets("DEVIS").Range("M57").Value 'M57 ou M120 si page 2
     Journal.Sheets("Liste").Range("G" & ligne).Value = Sheets("DEVIS").Range("N57").Value 'N57 ou N120 si page 2
     Journal.Sheets("Liste").Range("H" & ligne).Value = Sheets("DEVIS").Range("N58").Value 'N58 ou N121 si page 2
    
    
     'Sheets("DEVIS").Range("D16") = ("***A Renseigner***")
     'Sheets("DEVIS").Range("R12") = ("NOM-Prénom")
    
    
       'With Range("H9")
        '.Value = .Value + 1
    'End With
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
:)
En modifiant les 4 lignes :
VB:
     Journal.Sheets("Liste").Range("B" & ligne).Value = Sheets("DEVIS").Range("R12").Value
     Journal.Sheets("Liste").Range("C" & ligne).Value = Sheets("DEVIS").Range("D9").Value
     Journal.Sheets("Liste").Range("D" & ligne).Value = Sheets("DEVIS").Range("D18").Value
     '-------------------------------------------------------------------------------------
     ' Modification
     If FeuilleExiste("Feuil2") = True Then     ' Feuil2 existe
        Journal.Sheets("Liste").Range("E" & ligne).Value = Sheets("Feuil2").Range("N119").Value 'N56 ou N119 si page 2
        Journal.Sheets("Liste").Range("F" & ligne).Value = Sheets("DEVIS").Range("M120").Value 'M57 ou M120 si page 2
        Journal.Sheets("Liste").Range("G" & ligne).Value = Sheets("DEVIS").Range("N120").Value 'N57 ou N120 si page 2
        Journal.Sheets("Liste").Range("H" & ligne).Value = Sheets("DEVIS").Range("N121").Value 'N58 ou N121 si page 2
     Else                                       ' Feuil2 n'existe pas
        Journal.Sheets("Liste").Range("E" & ligne).Value = Sheets("DEVIS").Range("N56").Value
        Journal.Sheets("Liste").Range("F" & ligne).Value = Sheets("DEVIS").Range("M57").Value
        Journal.Sheets("Liste").Range("G" & ligne).Value = Sheets("DEVIS").Range("N57").Value
        Journal.Sheets("Liste").Range("H" & ligne).Value = Sheets("DEVIS").Range("N58").Value
     End If
     '-------------------------------------------------------------------------------------
     Set Journal = Nothing 'Libère la mémoire
End Sub

Function FeuilleExiste(FeuilleAVerifier) ' Vérifie si la feuille existe, si oui retourne True, sinon False
Dim Feuille As Worksheet
    FeuilleExiste = False
    For Each Feuille In Worksheets
        If UCase(Feuille.Name) = UCase(FeuilleAVerifier) Then
            FeuilleExiste = True
            Exit Function
        End If
    Next Feuille
Exit Function
SiErreur:
MsgBox "Une erreur s'est produite..."
FeuilleExiste = CVErr(xlErrNA)
End Function

On teste si Feuil2 existe avec la fonction FeuilleExiste, si oui on fait collage à partir de la feuil2 sinon on colle à partir de la feuille Devis.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'ai mis Feuil2 par défaut, il faut mettre le nom de la feuille de la quelle vous voulez copier les infos.

La fonction peut être mis n'importe où. Par ex après la Sub, sa place n'a pas d'importance.
( J'ai pour habitude de mettre toutes mes fonctions dans un module nommé Fonctions, ça marche très bien. )
 

Discussions similaires

Statistiques des forums

Discussions
312 193
Messages
2 086 058
Membres
103 110
dernier inscrit
Privé