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

copie de cellules adjacentes

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

R

recovery

Guest
Bonjour,

Encore une fois je viens demander de l'aide aux initiés.
Voici mon problème j'ai créé une macro pour rechercher une variable dans ma base de donnée une fois cette dernière trouvée je la copie dans une autre feuille aucun problème pour l'instant là ou ça se complique c'est que j'aimerais aussi copier les quatre autres cellules qui se trouve à gauche de celle-ci, j'ai bidouiller du code mais rien à faire AU SECOURS
A toute fin utile voici le code:
Sub copie()
Dim MonDELingne As Integer
Dim valeur As String
Sheets("Feuil1").Select
Range("f2").Select
MonDELingne = Range("f50000").End(xlUp).Row
'MonDeLigne1 = Range("a50000").End(xlUp).Select

Do
valeur = ActiveCell.Value
If ActiveCell.Value = "intervenant 10" Then
Sheets("Requetes").Select
Range("a50000").End(xlUp).Select
ActiveCell.Offset(1, 0).Value = valeur
Exit Do
End If
ActiveCell.Offset(1, 0).Select
Loop While ActiveCell.Row < MonDELingne + 1

End Sub

Merci.
 
Re : copie de cellules adjacentes

Bonjour,
Comme tu n'indiques pas si une simple copie suffirait...
Code:
Sub copie()
Dim v$, c As Range, rng As Range, dl&
v = "intervenant 10"
With Sheets("Feuil1")
    Set c = .Range("F:F").Find(v)
    If Not c Is Nothing Then
        Set rng = .Range(c, c.Offset(0, 4))
        With Sheets("Requêtes")
            dl = .Range("A65000").End(xlUp).Row + 1
            .Range(.Cells(dl, 1), .Cells(dl, 5)) = rng.Value
        End With
    End If
End With
End Sub
A+
kjin
 
Re : copie de cellules adjacentes

Bonjour recovery, salut kjin 🙂

Quelle galère tous ces Select, alors que c'est parfaitement inutile en VBA...

Une autre manière :

Code:
Sub Copie()
Dim lig As Variant, plage As Range
On Error Resume Next 'si la valeur n'est pas trouvée
With Sheets("Feuil1")
  lig = Application.Match("intervenant 10", .[f2:f50000], 0)
  Set plage = .[b1:f1].Offset(lig)
End With
With Sheets("Requetes").Range("a50000").End(xlUp)
  .Offset(1).Resize(, 5) = plage.Value ' copie uniquement les valeurs
  'plage.Copy .Offset(1) 'copie tout
  'Application.Goto .Offset(1).Resize(, 5) 'si l'on veut absolument sélectionner...
End With
End Sub
A+
 
Re : copie de cellules adjacentes


mille merci Kjin
Encore une fois en quelques minutes j'ai été dépanné formidable dés lors que l'on maitrise parfaitement le vba néanmoins dans la mesure du possible pourrais tu me détailler la syntaxe utilisée de manière à bien assimiler cette dernière.

merci pour ta disponibilité

Cordialement. Recovery
 
Re : copie de cellules adjacentes


OK JOB75
j'essaie ta syntaxe je te tiens au courant

Merci à toi aussi pour ta disponibilité.
 
- 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

Réponses
10
Affichages
791
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…