XL 2013 Copier une valeur SI page n°2

  • Initiateur de la discussion Initiateur de la discussion Danyk01
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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.🙂
 
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
 
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.🙂
 
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
 
🙂
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.
 
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. )
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
142
Réponses
8
Affichages
172
Retour