Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

copie valeur avec condition cellule pas vide

11 réponses
Avatar
Daniel Pelletier
Bonsoir

Avec un VBA je voudrait copier un champ ( b18:n18) SI dans F18 n'est pas
vide
et insérer les valeur dans une autre "feuille1" cellule a2.
Comment faire ?

Merci

10 réponses

1 2
Avatar
Clément Marcotte
Bonjour,

SI dans F18 n'est pas vide
copier un champ ( b18:n18)
insérer les valeur dans une autre "feuille1" cellule a2.



If range("f18").value <> "" then
Range("b18:n18").copy
Sheets("feuille1").range("a2").paste
End if

Avatar
Daniel Pelletier
Bonsoir Clément
La condition mache mais je veut insérer par dessus les autre ligne , de
cette feuille.
merci
"Clément Marcotte" a écrit dans le message
de news:eby$
Bonjour,

SI dans F18 n'est pas vide
copier un champ ( b18:n18)
insérer les valeur dans une autre "feuille1" cellule a2.



If range("f18").value <> "" then
Range("b18:n18").copy
Sheets("feuille1").range("a2").paste
End if




Avatar
michdenis
Bonsoir Daniel,

Essaie ceci :

Feuil1 = Feuille où sont tes données à copier
Feuil2 = Où seront copiées les données.

'----------------------------
With Worksheets("Feuil1")
If .Range("F18") <> "" Then
Set Rg = .Range("B18:N18")
With Worksheets("Feuil2")
Rg.Copy .Range("A" & .Range("A65536").End(xlUp)(2).Row)
End With
End If
End With
'----------------------------


Salutations!




"Daniel Pelletier" a écrit dans le message de news:
Bonsoir

Avec un VBA je voudrait copier un champ ( b18:n18) SI dans F18 n'est pas
vide
et insérer les valeur dans une autre "feuille1" cellule a2.
Comment faire ?

Merci
Avatar
michdenis
J'ai omis la déclaration des variables !


'-----------------------
Sub CopierUnRange()

Dim Rg As Range
With Worksheets("Feuil1")
If .Range("F18") <> "" Then
Set Rg = .Range("B18:N18")
With Worksheets("Feuil2")
Rg.Copy .Range("A" & .Range("A65536").End(xlUp)(2).Row)
End With
End If
End With
Set Rg = Nothing

End Sub
'-----------------------


Salutations!




"Daniel Pelletier" a écrit dans le message de news:
Bonsoir

Avec un VBA je voudrait copier un champ ( b18:n18) SI dans F18 n'est pas
vide
et insérer les valeur dans une autre "feuille1" cellule a2.
Comment faire ?

Merci
Avatar
Clément Marcotte
Bonjour,

Donc, dans la feuille de destination, il y a des données qui doivent
"descendre" avant de coller les nouvelles ?


"Daniel Pelletier" a écrit dans le message de
news:
Bonsoir Clément
La condition mache mais je veut insérer par dessus les autre ligne ,
de

cette feuille.
merci
"Clément Marcotte" a écrit dans le
message

de news:eby$
Bonjour,

SI dans F18 n'est pas vide
copier un champ ( b18:n18)
insérer les valeur dans une autre "feuille1" cellule a2.



If range("f18").value <> "" then
Range("b18:n18").copy
Sheets("feuille1").range("a2").paste
End if








Avatar
Daniel Pelletier
Bonsoir Michdenis

Oui cela copie mais dans mon range ("B18:N18") il y a des formules donc
je veur extraire les valeur.
Ces pour cette raison que je voulait copier les valeur.
merci
"michdenis" a écrit dans le message de
news:
J'ai omis la déclaration des variables !


'-----------------------
Sub CopierUnRange()

Dim Rg As Range
With Worksheets("Feuil1")
If .Range("F18") <> "" Then
Set Rg = .Range("B18:N18")
With Worksheets("Feuil2")
Rg.Copy .Range("A" & .Range("A65536").End(xlUp)(2).Row)
End With
End If
End With
Set Rg = Nothing

End Sub
'-----------------------


Salutations!




"Daniel Pelletier" a écrit dans le message de
news:

Bonsoir

Avec un VBA je voudrait copier un champ ( b18:n18) SI dans F18 n'est pas
vide
et insérer les valeur dans une autre "feuille1" cellule a2.
Comment faire ?

Merci






Avatar
Daniel Pelletier
Rebonsoir
Et oui avant de coller les valeur.
merci

"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Donc, dans la feuille de destination, il y a des données qui doivent
"descendre" avant de coller les nouvelles ?


"Daniel Pelletier" a écrit dans le message de
news:
Bonsoir Clément
La condition mache mais je veut insérer par dessus les autre ligne ,
de

cette feuille.
merci
"Clément Marcotte" a écrit dans le
message

de news:eby$
Bonjour,

SI dans F18 n'est pas vide
copier un champ ( b18:n18)
insérer les valeur dans une autre "feuille1" cellule a2.



If range("f18").value <> "" then
Range("b18:n18").copy
Sheets("feuille1").range("a2").paste
End if











Avatar
michdenis
Tu n'avais pas spécifié ce "détail" dans ta question originale
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


'---------------------------
Sub CopierUnRange()

Dim Rg As Range, Rg1 As Range
With Worksheets("Feuil1")
If .Range("F18") <> "" Then
Set Rg = .Range("B18:N18")
With Worksheets("Feuil2")
Set Rg1 = .Range("A" & .Range("A65536").End(xlUp)(2).Row)
Rg.Copy Rg1
Rg1.Resize(Rg.Rows.Count, Rg.Columns.Count) = Rg.Value
End With
End If
End With
Set Rg = Nothing: Set Rg1 = Nothing

End Sub
'---------------------------



Salutations!




"Daniel Pelletier" a écrit dans le message de news:%
Bonsoir Michdenis

Oui cela copie mais dans mon range ("B18:N18") il y a des formules donc
je veur extraire les valeur.
Ces pour cette raison que je voulait copier les valeur.
merci
"michdenis" a écrit dans le message de
news:
J'ai omis la déclaration des variables !


'-----------------------
Sub CopierUnRange()

Dim Rg As Range
With Worksheets("Feuil1")
If .Range("F18") <> "" Then
Set Rg = .Range("B18:N18")
With Worksheets("Feuil2")
Rg.Copy .Range("A" & .Range("A65536").End(xlUp)(2).Row)
End With
End If
End With
Set Rg = Nothing

End Sub
'-----------------------


Salutations!




"Daniel Pelletier" a écrit dans le message de
news:

Bonsoir

Avec un VBA je voudrait copier un champ ( b18:n18) SI dans F18 n'est pas
vide
et insérer les valeur dans une autre "feuille1" cellule a2.
Comment faire ?

Merci






Avatar
Daniel Pelletier
Salut michdenis
La ,ca fonctionne très bien.
Je veut l'intégrer a celle ci
Le début vérifie ci l'utilisateur na pas oublier d'entré un choix dans la
colonne "E"
et l'oblige a en entré une donné.

La deuxième partie copie les valeur dans l'autre feuille ("Base")
Peut tu me corrigre pour que cela s'exécute sur chacune des ligne (18à38)
????

Merci

ActiveSheet.Unprotect
Dim l As Long, c As Integer, oblig As Label
ActiveSheet.Unprotect
oblig:
For c = 2 To 3
For l = 18 To 37
If Cells(l, c).Value <> "" Then
If Cells(l, 5) = "" Then
Range("E" & l).Value = InputBox( _
"Il manque une PRIORITE en sur la ligne " _
& l - 17 & vbNewLine _
& " saisissez la maintenant" _
& " ci dessous", "PRIORITÉ est obligatoire", , "5000",
"2000")
GoTo oblig
End If
End If
Next l
Next c

'_____ta macro ___Sub CopierUnRange()______

Dim Rg As Range, Rg1 As Range
With Worksheets("Feuille_insp")
If .Range("E18") <> "" Then
Set Rg = .Range("B18:m18")
With Worksheets("Base")
Set Rg1 = .Range("A" & .Range("A65536").End(xlUp)(2).Row)
Rg.Copy Rg1
Rg1.Resize(Rg.Rows.Count, Rg.Columns.Count) = Rg.Value
End With
End If
End With
Set Rg = Nothing: Set Rg1 = Nothing
Application.Run "'Insp_St-Hyacinthe.xls'!ReplaceFenêtre"
End Sub
Avatar
Denis Michon
Bonsoir Daniel,

Je n'ai pas compris ton dernier message...(ta demande)... je lasse la main à l'équipe de jour !


Salutations!





"Daniel Pelletier" a écrit dans le message de news:
Salut michdenis
La ,ca fonctionne très bien.
Je veut l'intégrer a celle ci
Le début vérifie ci l'utilisateur na pas oublier d'entré un choix dans la
colonne "E"
et l'oblige a en entré une donné.

La deuxième partie copie les valeur dans l'autre feuille ("Base")
Peut tu me corrigre pour que cela s'exécute sur chacune des ligne (18à38)
????

Merci

ActiveSheet.Unprotect
Dim l As Long, c As Integer, oblig As Label
ActiveSheet.Unprotect
oblig:
For c = 2 To 3
For l = 18 To 37
If Cells(l, c).Value <> "" Then
If Cells(l, 5) = "" Then
Range("E" & l).Value = InputBox( _
"Il manque une PRIORITE en sur la ligne " _
& l - 17 & vbNewLine _
& " saisissez la maintenant" _
& " ci dessous", "PRIORITÉ est obligatoire", , "5000",
"2000")
GoTo oblig
End If
End If
Next l
Next c

'_____ta macro ___Sub CopierUnRange()______

Dim Rg As Range, Rg1 As Range
With Worksheets("Feuille_insp")
If .Range("E18") <> "" Then
Set Rg = .Range("B18:m18")
With Worksheets("Base")
Set Rg1 = .Range("A" & .Range("A65536").End(xlUp)(2).Row)
Rg.Copy Rg1
Rg1.Resize(Rg.Rows.Count, Rg.Columns.Count) = Rg.Value
End With
End If
End With
Set Rg = Nothing: Set Rg1 = Nothing
Application.Run "'Insp_St-Hyacinthe.xls'!ReplaceFenêtre"
End Sub
1 2