XL 2013 copier valeur d'une cellule en fct de la valeur d'une autre

lagodille

XLDnaute Occasionnel
Bonjour à tous,

Je voudrais savoir si l'on peut en vba coder

feuille 1
SI la ligne dans laquelle se trouve la cellule contenant "11%" existe alors

On copie la valeur de la cellule située à sa droite dans une (.Cells(ligne, 3) dans la feuille 2

merci pour votre aide

cordialement
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Lagodille, bonjour le forum,

Avec un petit fichier exemple c'est toujours plus facile de répondre. Même si tes explications sont claires, il nous faut recréer l'environnement pour le tester et t'envoyer une réponse cohérente. On ne sait pas si "11%" est du texte ou un résultat formaté...
 

job75

XLDnaute Barbatruc
Bonjour lagodille, Robert,

Exécutez :
VB:
Sub Copier()
Dim ligne&, c As Range
ligne = 3 'pour tester
Set c = Feuil1.Cells.Find("11%", , xlValues, xlWhole)
If Not c Is Nothing Then Feuil2.Cells(ligne, 3) = c.Offset(, 1)
End Sub
Fonctionne si 11% est un nombre ou du texte.

A+
 

job75

XLDnaute Barbatruc
Bonjour lagodille, Robert, le forum,

A priori vous voulez transférer les données de la feuille "Devis" sur la 1ère ligne vide de la feuille "TdB".

Cela ne pose pas de problème mais il faut que la feuille "Devis" soit cohérente.

Les formules de cette feuille "Devis" sont en effet à revoir.

Ensuite dans cette feuille le plus simple est de nommer les cellules à transférer.

A+
 

lagodille

XLDnaute Occasionnel
Bonjour job75,

La feuille devis je pense est maintenant cohérente. ;)

Pour mon souci j'aimerai avoir le code au moins pour total HT et je ferai le reste

Comme je l'ai expliqué, pour le fait que le nombre de lignes varient suivant le devis proposé je ne peux copier une cellule précise qui ne se retrouvera pas au meme endroit la fois suivante
je ne sais pas faire.
merci
cordialement
 

Pièces jointes

  • testons.xlsm
    112.4 KB · Affichages: 3
  • Bonjour à tous.docx
    12.3 KB · Affichages: 2

job75

XLDnaute Barbatruc
Bonjour lagodille, le forum,
Comme je l'ai expliqué, pour le fait que le nombre de lignes varient suivant le devis proposé je ne peux copier une cellule précise qui ne se retrouvera pas au meme endroit la fois suivante
C'est bien pour cette raison qu'il faut nommer les cellules qu'on veut copier.

Voyez le fichier joint et les cellules nommées Total_HT et Total_TTC.

La macro affectée au bouton :
VB:
Sub Copier()
Dim lig&
lig = 1
With Sheets("TdB")
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    While .Cells(lig, "F") <> ""
        lig = lig + 1
    Wend
    .Cells(lig, "F") = [Total_HT]
    .Cells(lig, "J") = [Total_TTC]
    .Activate 'facultatif
End With '1ère cellule vide
End Sub
J'ai eu des problèmes avec votre fichier, il semble corrompu, il faudra sans doute le refaire.

A+
 

Pièces jointes

  • testons(1).xlsm
    88.7 KB · Affichages: 2

job75

XLDnaute Barbatruc
Cette macro, plus simple, va bien aussi, fichier (2) :
VB:
Sub Copier()
With Sheets("TdB")
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    With .[A1].CurrentRegion
        .Cells(.Rows.Count + 1, 6) = [Total_HT]
        .Cells(.Rows.Count + 1, 10) = [Total_TTC]
    End With
    .Activate 'facultatif
End With '1ère cellule vide
End Sub
 

Pièces jointes

  • testons(2).xlsm
    88.8 KB · Affichages: 6

lagodille

XLDnaute Occasionnel
Cette macro, plus simple, va bien aussi, fichier (2) :
VB:
Sub Copier()
With Sheets("TdB")
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    With .[A1].CurrentRegion
        .Cells(.Rows.Count + 1, 6) = [Total_HT]
        .Cells(.Rows.Count + 1, 10) = [Total_TTC]
    End With
    .Activate 'facultatif
End With '1ère cellule vide
End Sub
Bonjour Job75,

d'abord merci pour ton aide car je patauge un peu

j'ai joint mon fichier et cela ne fonctionne pas bien .
Si tu peux corriger et surtout m'expliquer pourquoi

merci
cordialement
 

Pièces jointes

  • Testons(3).xlsm
    71.1 KB · Affichages: 5

job75

XLDnaute Barbatruc
Dans la feuille DEVIS vous n'avez pas nommé les cellules à copier.

Et dans la feuille TdB au départ il ne faut pas de formules en colonne N

A condition que la formule ait un sens vous pouvez l'entrer en colonne N sur la même ligne que les valeurs entrées..

Bonne nuit.
 

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 991
Membres
101 856
dernier inscrit
Marina40