Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA : copier valeurs cellules non " "

  • Initiateur de la discussion Initiateur de la discussion SARdynamite
  • 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 !

S

SARdynamite

Guest
Bonjour, sans base VBA j'ai essayer pendant 1 heure de bidouiller mais sans succès.

J'ai une plage C5:C15 de formules renvoyant une valeur ou " "

J'aimerais qu'à chaque modification d'une cellule de la plage B5:B15, les valeurs (pas les formules) des cellules non " " de C5:C15 soient copiées en D5😀15

Les cellules " " de C5:C15 ne devant donc pas être copiées.

Je me remets à vous car j'avoue sècher. Merci d'avance.
 
Re : VBA : copier valeurs cellules non " "

Re,

Bonjour et merci, j'ai procédé au remplacement exact et ça ne fonctionne pas

cela veut dire quoi ? message d'erreur ou pas le résultat attendu... de toute façon si cela ne fonctionait pas avant, le dernier que j'ai donné, n'est qu'un raccourci....
 
Re : VBA : copier valeurs cellules non " "

J'avance pas à pas. J'en suis donc là.

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim i As Long

Application.ScreenUpdating = False
Set Plage = Range("K28:K267")

If Not Intersect(Plage, Target) Is Nothing Then
    Application.EnableEvents = False
    For i = 28 To 267
        If Cells(i, 51).Value <> "" Then
            Cells(i, 56).Value = Cells(i, 51).Value
        End If
        If Cells(i, 52).Value <> "" Then
            Cells(i, 57).Value = Cells(i, 52).Value
        Else: Cells(i, 57).Clear
        End If
        If Cells(i, 53).Value <> "" Then
            Cells(i, 58).Value = Cells(i, 53).Value
        Else: Cells(i, 58).Clear
        End If
        If Cells(i, 54).Value <> "" Then
            Cells(i, 59).Value = Cells(i, 54).Value
        Else: Cells(i, 59).Clear
        End If
    Next i
    Application.EnableEvents = True
End If

Set Plage = Nothing

Range("B5").Select

End Sub

Est-il possible de simplifier / accélérer le script ? Merci!
 
Re : VBA : copier valeurs cellules non " "

salut

pourquoi vouloir parcourir toutes les lignes à chaque fois ?
Cela pourrait suffire
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim L As Byte, J As Byte
  If Target.Count > 1 Or Intersect(Range("K28:K267"), Target) Is Nothing Then Exit Sub
  L = Target.Row
  For J = 51 To 54
    If Cells(L, J) <> "" Then
      Cells(L, J).Copy
      Cells(L, 5 + J).PasteSpecial xlPasteValues
    Else
      Cells(L, 5 + J).Clear
    End If
    Next
    Application.CutCopyMode = False
    Range("B5").Select
End Sub
sinon tu peux rajouter ta boucle.

remarque : "Cells(L, 5+J).Clear", c'est aussi pour supprimer le format ?
Si... tu ne veux qu'effacer le contenu, tu peux supprimer le test.
 
Re : VBA : copier valeurs cellules non " "

Effectivement je ne voulais pas supprimer le format ! Détail que je n'avais initialement même pas remarqué.

Génial, je suis maintenant paré. Ton raccourci est rapide comme l'éclair.

Je vous remercie tous autant que vous êtes car vous m'avez débloqué et surtout je pense avoir compris plusieurs notions au passage et me sent un poil plus autonome.

Bonne journée à vous !
 
Re : VBA : copier valeurs cellules non " "

Rebonsoir,

ULTIME question, le code de la feuille que vous m'avez fourni déclenche un évenement à chaque modification de la plage de cellules voulues.

Cependant, appuyer sur ENTREE sans rentrer de valeur ne déclenche pas l'évènement. Serait-il possible que ce soit le cas aussi ?
Merci beaucoup
 
Re : VBA : copier valeurs cellules non " "

Bonjour,

lorsque tu appuies sur "enter" si pas à "l'intérieur" de la cellule, c'est l'événement ci-dessous qui se déclenche...
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

bonne journée
@+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

G
Réponses
3
Affichages
950
G
M
Réponses
4
Affichages
942
M
M
Réponses
2
Affichages
1 K
manue059
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…